2012-04-29 7 views
0

これらの質問はたくさんありますが、私はそれらを見ても私のエラーを把握することはできません。 Accessでテーブルからレコードを削除しようとしています。ここでは、コードです:公共の静的な無効DeleteProject(プロジェクトaProject) {"1つまたは複数の必須パラメータに値が指定されていません。"レコードを削除しようとしたときにエラーが発生しました。

 { 
      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

あなたがDELETE * FROMあなたはDELETE FROM

*削除しないでください、それが動作するはずです。

-

更新

String sSQLProjectDeleteCommand = "Delete * from Project where JobNo='" + aProject.JobNo + "'"; 

これは、より良いものの、パラメータを使って行うことになります。JobNoが文字列の場合も、あなたはパラメータに引用符を追加する必要があります

String sSQLProjectDeleteCommand = "Delete * from Project where JobNo=?"; 
... 
Cmd.Parameters.Add(aProject.JobNo); 
Cmd.ExecuteNonQuery(); 

更新2:OleD bCommandは指定されたパラメータを許可していません。

+0

私は*行ってもまだ同じエラーがありました –

+0

編集 – Jcl

+0

はうまくいきました!ありがとう、JobNoは文字列変数で、 "J ####"という形式であり、クラスからのコードをベースにしていましたが、この例ではIDがintであることを認識していませんでした。 –

関連する問題