从数据集读取数据
本文关键字:数据 读取 数据集 | 更新日期: 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 注入。