반응형
DataTable을 통해 반복하는 방법
반복할 필요가 있습니다.DataTable
거기 칼럼이 있어요ImagePath
.
사용할 때DataReader
저는 이렇게 합니다.
SqlDataReader dr = null;
dr = cmd.ExecuteReader();
while (dr.Read())
{
TextBox1.Text = dr["ImagePath"].ToString();
}
어떻게 하면 같은 일을 할 수 있을까요?DataTable
?
DataTable dt = new DataTable();
SqlDataAdapter adapter = new SqlDataAdapter(cmd);
adapter.Fill(dt);
foreach(DataRow row in dt.Rows)
{
TextBox1.Text = row["ImagePath"].ToString();
}
...접속이 열려 있고 명령어가 올바르게 설정되어 있는지 확인합니다.구문도 확인해 보진 않았지만, 알 수 있을 거예요.
foreach (DataRow row in myDataTable.Rows)
{
Console.WriteLine(row["ImagePath"]);
}
저는 이것을 기억해서 쓰고 있습니다.
이것으로 오브젝트 모델을 이해할 수 있는 힌트를 얻을 수 있기를 바랍니다.
DataTable
->DataRowCollection
->DataRow
(열 이름 또는 서수 중 하나를 사용하여 해당 행의 열 내용을 검색할 수 있습니다).
-> =에 포함되어 있습니다.
DataSet에 linq 확장을 사용할 수도 있습니다.
var imagePaths = dt.AsEnumerble().Select(r => r.Field<string>("ImagePath");
foreach(string imgPath in imagePaths)
{
TextBox1.Text = imgPath;
}
이미 좋은 해결책이 제시되어 있다.아래 코드는 다른 사용자가 데이터 테이블을 쿼리하고 ImagePath 열에 대한 데이터 테이블의 각 행의 값을 가져오는 데 도움이 됩니다.
for (int i = 0; i < dataTable.Rows.Count; i++)
{
var theUrl = dataTable.Rows[i]["ImagePath"].ToString();
}
위의 예는 매우 도움이 됩니다.단, 특정 행에 특정 값이 있는지 여부를 확인하는 경우.예인 경우 삭제 및 중단하고 값을 찾을 수 없는 경우 직선 던지기 오류입니다.다음 코드가 작동합니다.
foreach (DataRow row in dtData.Rows)
{
if (row["Column_name"].ToString() == txtBox.Text)
{
// Getting the sequence number from the textbox.
string strName1 = txtRowDeletion.Text;
// Creating the SqlCommand object to access the stored procedure
// used to get the data for the grid.
string strDeleteData = "Sp_name";
SqlCommand cmdDeleteData = new SqlCommand(strDeleteData, conn);
cmdDeleteData.CommandType = System.Data.CommandType.StoredProcedure;
// Running the query.
conn.Open();
cmdDeleteData.ExecuteNonQuery();
conn.Close();
GetData();
dtData = (DataTable)Session["GetData"];
BindGrid(dtData);
lblMsgForDeletion.Text = "The row successfully deleted !!" + txtRowDeletion.Text;
txtRowDeletion.Text = "";
break;
}
else
{
lblMsgForDeletion.Text = "The row is not present ";
}
}
foreach(DataGridViewRow row in dataGridView1){ var a = row.Cells[4].Value.ToString(); }
언급URL : https://stackoverflow.com/questions/1774498/how-to-iterate-through-a-datatable
반응형
'programing' 카테고리의 다른 글
Windows 명령줄에서 응용 프로그램 종료 코드를 가져오려면 어떻게 해야 합니까? (0) | 2023.04.23 |
---|---|
IIS7.5의 정적 파일 핸들러가 스크립트를 처리하지 않음 (0) | 2023.04.23 |
How do I use an INSERT statement's OUTPUT clause to get the identity value? (0) | 2023.04.23 |
순서 무시로 동일한 두 목록 개체 비교 (0) | 2023.04.23 |
Objective-C에서의 문자열 치환 (0) | 2023.04.23 |