Foreach遍历数据表列

时间:2016-03-23 14:16:07

标签: c# datatable

OleDbConnection conn1 = new OleDbConnection();
conn1.ConnectionString = (@"ConnectionString");
conn1.Open();

DataTable dataTable = new DataTable();       

OleDbCommand cmd = new OleDbCommand(sqlstring, conn1); 

 foreach(DataRow row in dataTable.Rows)
 {
   MessageBox.Show(row["SerialNumber"].ToString());
 }

我正在尝试从我的数据库中获取序列号。我不知道该如何解决这个问题。我想在DataTable中的某个地方引用我的数据表吗?我已经设置了与数据库的连接。我想在我的数据表“Warranty”中的“SerialNumber”列中的所有值。

我相信foreach是这个Senario的正确选择吗?

1 个答案:

答案 0 :(得分:2)

您已经打开了一个连接,并且您有一个与该连接相关联的sql命令,但您还没有执行该命令。一旦执行命令,您还需要一些东西将结果读入DataTable。

DataTable dataTable = new DataTable();  
using (var conn1 = new OleDbConnection(@"ConnectionString"))
using (var cmd = new OleDbCommand(sqlstring, conn1))
{
    conn1.Open();
    dataTable.Load(cmd.ExecuteReader());
}
foreach(DataRow row in dataTable.Rows)
{
    MessageBox.Show(row["SerialNumber"].ToString());
}