반응형
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
(columnName 또는 서수를 사용하여 해당 행의 열 내용을 사용하고 찾을 수 있음).
-> = 포함합니다.
DataSet에 linq 확장자를 사용할 수도 있습니다.
var imagePaths = dt.AsEnumerble().Select(r => r.Field<string>("ImagePath");
foreach(string imgPath in imagePaths)
{
TextBox1.Text = imgPath;
}
위의 예는 매우 유용합니다. 그러나 특정 행에 특정 값이 있는지 여부를 확인하려는 경우. 예인 경우 삭제 및 중단하고 값을 찾지 못하면 직선 오류가 발생합니다. 아래 코드가 작동합니다.
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 ";
}
}
참고 URL : https://stackoverflow.com/questions/1774498/how-to-iterate-through-a-datatable
반응형
'development' 카테고리의 다른 글
Android의 기본 텍스트 크기는 얼마입니까? (0) | 2020.07.01 |
---|---|
기능 매개 변수의 유형을 설정 하시겠습니까? (0) | 2020.07.01 |
INSTALL_PARSE_FAILED_NO_CERTIFICATES 오류는 무엇입니까? (0) | 2020.07.01 |
부트 스트랩에서 탭을 비활성화 할 수 있습니까? (0) | 2020.07.01 |
FileProvider 충돌-null 문자열에서 XmlResourceParser를 호출하려고 시도합니다. (0) | 2020.07.01 |