【发布时间】:2018-12-16 05:24:06
【问题描述】:
通过向查询添加参数,DB.Fill(DS) 行上出现错误。
参数@id 正好等于查询的参数。
我搜索了很多,但所有解决方案都是关于参数名称的拼写错误。
SQLiteDataAdapter DB;
DataSet DS = new DataSet();
DataTable DT = new DataTable();
SetConnection();
sqlCmd = sqlCon.CreateCommand();
string CommandText = "select * from Words where id = @id"; //query;
await sqlCon.OpenAsync();
sqlCmd.Parameters.AddWithValue("@id", 1);
DB = new SQLiteDataAdapter(CommandText, sqlCon);
DS.Reset();
await Task.Run(() => { DB.Fill(DS); });
DT = DS.Tables[0];
sqlCon.Close();
return DT;
更新 = 解决方案 正如@steve16351 所说,问题出在CommandText 上。 只需将查询添加到 sqlCmd 并将其作为 SQLiteDataAdapter 参数发送。
sqlCmd = sqlCon.CreateCommand();
sqlCmd.CommandText("select * from Words where id = @id"); //query; <<==
await sqlCon.OpenAsync();
sqlCmd.Parameters.AddWithValue("@id", 1);
DB = new SQLiteDataAdapter(sqlCmd); <<==
【问题讨论】:
标签: c# sqlite sql-parametrized-query