我需要遍历一个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或ordinal).
- > =包含.
您还可以对DataSet使用linq扩展:
var imagePaths = dt.AsEnumerble().Select(r => r.Field("ImagePath"); foreach(string imgPath in imagePaths) { TextBox1.Text = imgPath; }