위 동료 도교의 방법 중:
sSQL="업데이트 테이블 세트 필드=20"
다음으로 변경해야 합니다:
sSQL="업데이트 테이블 세트 field1=20,...,field2=20 where id=3"
하지만 데이터베이스에 레코드 3이 없으면 오류가 발생합니다.
레코드세트를 사용하는 또 다른 방법이 있습니다:
새로운 adodb.connection으로 dim CN
새로운 adodb.recordset으로 dim rs
rs.open "id=3인 데이터베이스에서 * 선택",adOpenDynamic, adLockOptimistic, -1
rs.eof가 아니라면
rs ("수정하려는 필드 1") = "특정 값 1"
...
rs("수정하려는 필드 n")="특정 값 n"
rs.update
끝나면
rs.close
저는 주로 디자인할 때 이렇게 합니다. 더 번거롭기는 하지만 기본적으로는 오류가 없습니다. 또한 데이터의 고유성을 보장하기 위해 데이터베이스를 디자인할 때 ID를 추가하는 것이 가장 좋습니다.
비공개 하위 명령어1_Click() '책 대출'
Dim jc As Boolean
jc=거짓
Adodc1.Recordset.MoveFirst
For i = 1 To Adodc1.Recordset.RecordCount
Text1.Text = Adodc1.Recordset.Fields(1).Value 및 Adodc1.Recordset.Fields(4).Value = True이면
Adodc1.Recordset.Fields(4).Value = Adodc1.Recordset.Fields(4).Value 아님
Adodc1.Recordset.Update
jc = 사실
끝나면
Adodc1.Recordset.MoveNext
다음엔 나
If jc Then MsgBox "대출 성공" Else MsgBox "책을 빌렸거나 책이 존재하지 않습니다"
끝 서브
Private Sub Command2_Click() '책 반납'
Dim hs As Boolean
hs = 거짓
Adodc1.Recordset.MoveFirst
For i = 1 To Adodc1.Recordset.RecordCount
Text1.Text = Adodc1.Recordset.Fields(1).Value 및 Adodc1.Recordset.Fields(4).Value = False이면
Adodc1.Recordset.Fields(4).Value = Adodc1.Recordset.Fields(4).Value 아님
Adodc1.Recordset.Update
jc = 사실
끝나면
Adodc1.Recordset.MoveNext
다음엔 나
If jc Then MsgBox "반환 성공" Else MsgBox "책이 이미 도서관에 있거나 책이 존재하지 않습니다"
끝 서브
비공개 하위 양식_Load()
Text1.Text = ""
Adodc1.Visible = 거짓
Adodc1.ConnectionString = "Provider=Microsoft.Jet.OLEDB.4.0;데이터 소스=" & App.Path & "mybook.mdb;Persist Security Info =false"
Adodc1.CommandType = adCmdText
Adodc1.RecordSource = "책에서 * 선택"
Adodc1.Refresh
끝 서브
위 내용은 VB에서 데이터베이스 레코드 값을 업데이트하는 방법의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!