更新表中的值:SQLite 错误.提供给命令的参数不足
本文关键字:命令 参数 错误 SQLite 更新 | 更新日期: 2023-09-27 18:33:29
是的!又是我——这些天我好像经常要问你......
这次我的问题:我创建了一个 SQLite 命令来更新表中的一些(不是全部)值。这是我的代码:
using (SQLiteConnection con = new SQLiteConnection(string.Format("Data Source={0};Version=3;", mstrDatabase)))
{
try
{
using (SQLiteCommand com = new SQLiteCommand("update WDATEN set TS_OUT = @TS_OUT, DATA_OUT = @DATA_OUT where ID = @ID", con))
{
com.Parameters.AddRange(new SQLiteParameter[]
{
new SQLiteParameter("TS_OUT", DbType.DateTime){ Value = date},
new SQLiteParameter("DATA_OUT", DbType.Double){ Value = numRest.Value}
});
con.Open();
com.ExecuteNonQuery();
mDa.Fill(dsWDaten.WDATEN);
con.Close();
}
}
catch (Exception ex)
{
MessageBox.Show("Beim Speichern des Datensatzes ist ein Fehler aufgetreten.'n" + ex.ToString(), "Fehler", MessageBoxButtons.OK, MessageBoxIcon.Error);
}
}
可悲的是,每次我执行此代码块时 - 我都会收到异常:
SQLite 错误。提供给命令的参数不足。
在这里和其他页面上搜索对我没有帮助。我错过了什么?
查询有三个参数(@TS_OUT、@DATA_OUT 和 @ID),但你只提供前两个参数的参数,而不是@ID的参数。
我没有看到您在代码中设置参数@ID
的位置。 您的 SQL 语句包含三个参数,您只提供两个参数的值。