我看到有很多这些问题,但我仍然无法看出它们的错误。我试图从Access中删除我的表中的记录。这是代码:
//删除记录的方法 public static void DeleteProject(Project aProject) {
{
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();”。
答案 0 :(得分:0)
你没有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不允许命名参数,似乎