我有从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 update的数据集中提取值,就像这个
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或者只是将它放入程序中?
感谢前方!
答案 0 :(得分:1)
成功
DataSet ds_dok = new DataSet("ordersstavke");
sql_adapter.Fill(ds_dok,"BrDok");
然后使用
ds_dok.Tables["BrDok"].Rows[0]["BrDok"].ToString()
答案 1 :(得分:1)
试试这个
ds_dok.Tables[0].Rows[0]["BrDok"]
答案 2 :(得分:0)
如果为数据集类提供字符串参数,那么它将是数据集名称而不是数据表名称。并且数据库中没有为数据集提供名称的表,因此在填充数据集时给出它。写下面的东西。
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 子句中添加一个起始的倒置逗号。
答案 3 :(得分:0)
只是对sql-command的一小部分提示。你应该使用sql-parameters来进行sql-injection。