2012-04-29 2 views
0

많은 질문이 있습니다.하지만 여전히 내 오류를 살펴볼 수 없습니다. Access에서 내 테이블의 레코드를 삭제하려고합니다.) ("하나 이상의 필수 매개 변수에 값이 지정되지 않았습니다." 레코드를 삭제하려고 할 때 오류가 발생했습니다.

// 방법은 내가 3 계층 아키텍처를 사용하고 {

 { 
      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); 
     } 
    } 

기록 공공 정적 무효 DeleteProject (프로젝트 aProject)을 삭제하고 오류가 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임을 알지 못했습니다. –

관련 문제