2016-09-06 4 views
0

내 및 txtPayTo.Text에 아포스트로피를 포함 할 때마다 왜 내 데이터베이스에 삽입되지 않는지 이해할 수 없습니다.VS2010의 매개 변수를 사용하는 INSERT 쿼리

내 텍스트 상자 값 Syntax error (missing operator) in query expression ''Joy's Boutique','Top's,'Issued')'.은 다음과 같습니다 :

오류는 이것이다

txtPayTo.Text> 기쁨의 부티크 txtParticulars> 탑의 cmbRemarks.SelectedItem>

그러나 발행 내 txtParticularstxtPayTo 값은을 가지고 있지 않을 때마다 아포 스트로피, 제 데이터가 저장됩니다.

sql1 = "INSERT INTO Table1(Check_No,Voucher_No,Issue_Date,Company_Name,Bank_Type,Amount_in_Figure,Amount_in_Words,Payee,Particulars,Remarks) VALUES(@CheckNo,@VoucherNo,@Date,@CompName,@BankType,@AmtInFigure,@AmtInWords,@PayTo,@Particulars,@Remarks)" 

        Dim cmd1 As OleDbCommand = New OleDbCommand(sql1, myConnection) 

        cmd1.Parameters.AddWithValue("@CheckNo", txtCheckNo.Text) 
        cmd1.Parameters.AddWithValue("@VoucherNo", txtVoucherNo.Text) 
        cmd1.Parameters.AddWithValue("@Date", dtpDate.Text) 
        cmd1.Parameters.AddWithValue("@CompName", txtCompName.Text) 
        cmd1.Parameters.AddWithValue("@BankType", txtBankType.Text) 
        cmd1.Parameters.AddWithValue("@AmtInFigure", txtAmtInFigure.Text) 
        cmd1.Parameters.AddWithValue("@AmtInWords", txtAmtInWords.Text) 
        cmd1.Parameters.AddWithValue("@PayTo", txtPayTo.Text) 
        cmd1.Parameters.AddWithValue("@Particulars", txtParticulars.Text) 
        cmd1.Parameters.AddWithValue("@Remarks", cmbRemarks.SelectedItem) 

        cmd1.ExecuteNonQuery() 
+0

* 우리에게 당신의 질문을 수정하십시오있는 * 텍스트 상자, 당신은 오류가 발생하는 경우 메시지에는 그 텍스트도 포함됩니다. –

+0

편집 됨 @AndrewMorton – Erica

+3

'AddWithValue' 대신'Add'를 사용하십시오. 'cmd1.Parameters.Add ("@ PayTo", SqlDbType.Varchar)와 같이 cmd1.Parameters ("@ PayTo") .Value = txtPayTo.Text' –

답변

0

사용 Add 대신 AddWithValue :

다음은 내 코드입니다.
후자는 전달 된 값으로 올바른 데이터베이스 유형을 추측해야합니다.
Add 메서드는 더 의존적입니다 (Add(string, object) 과부하를 사용하지 않는 한). 귀하의 예를 바탕으로

:

cmd1.Parameters.Add("@PayTo", SqlDbType.Varchar) 
cmd1.Parameters("@PayTo").Value = txtPayTo.Text 

또는 1 행으로 (Plutonix 덕분에) :

cmd1.Parameters.Add("@PayTo", SqlDbType.Varchar).Value = txtPayTo.Text