从数据集读取数据

本文关键字:数据 读取 数据集 | 更新日期: 2023-09-27 18:33:26

我有从sql查询填充的数据集,像这样

cmd_sql.CommandText = " SELECT BrDok " +
                      " FROM ordersstavke " +
                      " WHERE SifParFil = '" + rw_mat["sifskl_kor"] + "'";
MySqlDataAdapter sql_adapter = new MySqlDataAdapter(cmd_sql);
DataSet ds_dok = new DataSet("ordersstavke");
sql_adapter.Fill(ds_dok);

现在我想从数据集中提取值以进行 sql 更新,就像这样

myQuery = "UPDATE ordersstavke " +
          "SET BrDok = '" + rw_mat["brdok"] + "', " +
          "SifParFil = '" + rw_mat["sifskl_kor"] + "', " +
          "WHERE BrDok = " + ds_dok.Tables["ordersstavke"].Rows[0]["BrDok"] + "'";

我尝试了这个ds_dok.Tables["ordersstavke"].Rows[0]["BrDok"]但我得到了一个错误,我想做这样的事情

string BrDok;
BrDok  = ds_dok.["BrDok"].ToString();

但是什么都没有,如何提取那个 BrDok 或只是将其付诸程序?

谢谢前面!

从数据集读取数据

Make it

 DataSet ds_dok = new DataSet("ordersstavke");
 sql_adapter.Fill(ds_dok,"BrDok");

然后使用

ds_dok.Tables["BrDok"].Rows[0]["BrDok"].ToString()

试试这个

ds_dok.Tables[0].Rows[0]["BrDok"]

如果为数据集类提供字符串参数,则它将是数据集名称,而不是数据表名称。数据库中没有您为数据集提供的名称表,因此请在填充数据集时提供该表。写一些像下面这样的东西。

DataSet ds_dok = new DataSet();
sql_adapter.Fill(ds_dok,"ordersstavke");

您可以按代码部分编写所有剩余的代码。

您的第二个更新查询有一些语法错误,如下所示

myQuery = "UPDATE ordersstavke " +           "SET BrDok = '" + rw_mat["brdok"] + "', "
 +           "SifParFil = '" + rw_mat["sifskl_kor"] + "', " +           "WHERE BrDok 
 = '" + ds_dok.Tables["ordersstavke"].Rows[0]["BrDok"] + "'";

您忘了在 where 子句中放置一个起始反逗号。

只是对 sql 命令的一个小提示。你应该使用 sql 参数来预置 sql 注入。