“没有为一个或多个必需参数提供值.” 尝试删除记录时出错
本文关键字:出错 记录 删除 参数 一个 | 更新日期: 2023-09-27 18:32:40
我看到有很多这样的问题,但我仍然无法通过查看它们来找出我的错误。我正在尝试从 Access 中的表中删除记录。这是代码:
删除记录的方法 公共静态空隙删除项目(项目A项目) {
{
String sSQLProjectDeleteCommand = "Delete * from Project where JobNo=" + aProject.JobNo;
// Create the command object
if (aConnection.State == ConnectionState.Closed)
aConnection.Open();
OleDbCommand Cmd = aConnection.CreateCommand();
//Delete project
Cmd.CommandText = sSQLProjectDeleteCommand;
// Execute the SQL command
Cmd.ExecuteNonQuery();
aConnection.Close();
}
catch (System.Exception exc)
{
Console.WriteLine(exc.Message);
}
}
我使用的是 3 层架构,错误发生在"Cmd.ExecuteNonQuery();"。
你不会DELETE * FROM
你DELETE FROM
取下*
,它应该可以工作。
--
更新:另外,如果JobNo
是一个字符串,你应该在参数中添加引号:
String sSQLProjectDeleteCommand = "Delete * from Project where JobNo='" + aProject.JobNo + "'";
不过,最好使用参数来完成:
String sSQLProjectDeleteCommand = "Delete * from Project where JobNo=?";
...
Cmd.Parameters.Add(aProject.JobNo);
Cmd.ExecuteNonQuery();
更新2:修改了参数,因为OleDbCommand不允许命名参数,似乎