“没有给出一个或多个必需参数的值。”尝试删除记录时出错

时间:2012-04-29 05:22:12

标签: c# ms-access-2010

我看到有很多这些问题,但我仍然无法看出它们的错误。我试图从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();”。

1 个答案:

答案 0 :(得分:0)

你没有DELETE * FROMDELETE 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不允许命名参数,似乎