cn.Provider = "microsoft.jet.oledb.4.0"
cn.ConnectionString = "C:\Documents and Settings\图书馆.mdb"
Dim cn As New ADODB.Connection
Dim r1 As New ADODB.Recordset
Dim strsql1 As String
 mstring = "书籍ID='" & mystring & "'"
 strsql1 = "select * from Books where Books.书籍ID ='" & mystring & " '"
 cn.Open
 r1.Open strsql1, cn, adOpenDynamic, adLockOptimistic
 i = r1.Fields("状态")
 If i = 1 Then
     MsgBox "此图书已经借出,尚末归还!"
     End Sub
 Else
    
         r1.Fields("状态") = 1
         r1.Update
         r1.Close为什么运行之后我的数据库("状态")还是没有修改的.比如开始i=0,但运行后,我的表的r1.Fields("状态")还是等于0.请问错在哪里了?

解决方案 »

  1.   

    而且当再次输入相同的mystring的时候,它提示:"此图书已经借出,尚末归还!"
      

  2.   

    把这句:  mstring = "书籍ID='" & mystring & "'"改成:    mstring = mystring
      

  3.   

    哦,写错了,不好意思,更正一下:应该把这句:  mstring = "书籍ID='" & mystring & "'"    去掉
      

  4.   

    还是没有效果,不好意思!我的("状态")是由数字0 或 1 组成的,运行后应该(也就是借出后)0 变成1,但在我的Access数据库中却没有修改,再次输入相同的mystring条件时,是i = 1 Then
         MsgBox "此图书已经借出,尚末归还!" 执行了.