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的正确选择吗?
答案 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());
}