2015-01-23 1 views
0
( db.Execute "insert into Studentstemp(StudentNameA,FacultyNumber,DepartmentNumber" & _ 
",BatchDescription,programNumber, Studentstatus, Gender, AddmissionFormNo, StudentNumber)values('" & VBA.Trim(TxtStudentNameA.Text) & "','" & _ 
                   CmbFaculty.BoundText & "','" & _ 
                   CmbDepartMent.BoundText & "','" & _ 
                   CmbBatch.BoundText & "','" & _ 
                   CmbProgram.BoundText & "','" & _ 
                   Cmbastatute.Text & "','" & _ 
                   CmbGnder.Text & "','" & _ 
                   TxtStudyFees.Text & ")") 
+2

SQL을 완전히 잘못하고 있습니다. 문자열 중 하나에 아포스트로피가 있으면 상상해보십시오. [매개 변수] (http://www.vb6.us/forums/%5Bcatpath%5D/how-do-i-create-parameter-sql-query-vb6)를 사용하십시오. –

답변

1

dour high arch는 프로그램에 입력 된 문자열 중 하나에 아포스트로피가있는 경우이 오류가 발생한다는 것을 알려줍니다. 이것을 자신에게 증명하려면 txtStudentName에 학생 이름 "O'Malley"를 입력하십시오. 지금, 나는 당신이 매개 변수를 사용해야하지만이 특정 문제를 해결하는 것에 동의합니다, 당신은이 작업을 수행해야합니다 : 등등

...values('" & _ 
    Replace(Trim(txtStudentName.Text), "'", "''") & "','" & _ 
    Replace(CmbFaculty.BoundText, "'", "''") & "','" & _ 
    Replace(CmbDepartMent.BoundText, "'", "''") & "','" & _ 
...               

하고 있습니다. SQL은 두 개의 아포스트로피를 사용하여 문자 그대로 아포스트로피를 의미하므로 'O''Malley'은 SQL의 필드에 O'Malley 값을 입력하는 방법입니다.

2

끝까지 놓쳤습니다.

(db.Execute "insert into Studentstemp(StudentNameA,FacultyNumber,DepartmentNumber" & _ 
      ",BatchDescription,programNumber, Studentstatus, Gender, AddmissionFormNo" & _ 
      ",StudentNumber)values('" & VBA.Trim(TxtStudentNameA.Text) & "','" & _ 
      CmbFaculty.BoundText & "','" & CmbDepartMent.BoundText & "','" & _ 
      CmbBatch.BoundText & "','" & CmbProgram.BoundText & "','" & _ 
      Cmbastatute.Text & "','" & CmbGnder.Text & "','" & TxtStudyFees.Text & "')") 
관련 문제