我要做一个图书管理系统中的还书模块,输入书号后,要从数据库中找到还书记录为空的读者编号等信息,帮忙看一下
Dim sql As String
sql = "select * from js where 索书号='" & Trim(Text1.Text) & "'"
Dim rs_xx As New ADODB.Recordset
Dim cn As ADODB.Connection
Set cn = New ADODB.Connection
Set rs_xx = New ADODB.Recordset
cn.ConnectionString = "Driver={sql server};server=asus-aae1968d45;uid=sa;pwd=123;database=book"
cn.Open
rs_xx.Open sql, cn, adOpenStatic, adLockReadOnly, adCmdText
rs_xx.MoveFirst
 If IsNull(rs_xx.Fields("还书日期")) ThenIf rs_xx.RecordCount > 0 Then
rs_xx.MoveLast
 If IsNull(rs_xx.Fields("还书日期")) ThenText2.Text = rs_xx.Fields("书名")
Text3.Text = rs_xx.Fields("编号")
Text4.Text = rs_xx.Fields("借书日期")
Text5.Text = rs_xx.Fields("应还日期")
Else
MsgBox "索书号错误!", vbOKOnly + vbExclamation, ""'rs_xx.MoveNext
End If
End If
End If
哪边出问题了,无法找的需要的数据

解决方案 »

  1.   


    '你的代码没有缩进,看起来好乱,我给改一下  Dim sql As String 
      Dim rs_xx As New ADODB.Recordset 
      Dim cn As ADODB.Connection   sql = "select * from js where 索书号='" & Trim(Text1.Text) & "' and 还书日期 = ''" 
      '
      Set cn = New ADODB.Connection 
      Set rs_xx = New ADODB.Recordset   cn.ConnectionString = "Driver={sql server};server=asus-aae1968d45;uid=sa;pwd=123;database=book" 
     
     cn.Open 
      
      rs_xx.Open sql, cn, adOpenStatic, adLockReadOnly, adCmdText 
      
      If rs_xx.RecordCount > 0 Then      rs_xx.MoveLast     Text2.Text = rs_xx.Fields("书名") 
         Text3.Text = rs_xx.Fields("编号") 
         Text4.Text = rs_xx.Fields("借书日期") 
         Text5.Text = rs_xx.Fields("应还日期") 
      else 
         MsgBox "索书号错误!", vbOKOnly + vbExclamation, ""  
      End If 
    '如果上一个SQL错误请用下一个
    '你的代码没有缩进,看起来好乱,我给改一下  Dim sql As String 
      Dim rs_xx As New ADODB.Recordset 
      Dim cn As ADODB.Connection   sql = "select * from js where 索书号='" & Trim(Text1.Text) & "'" 
      '
      Set cn = New ADODB.Connection 
      Set rs_xx = New ADODB.Recordset   cn.ConnectionString = "Driver={sql server};server=asus-aae1968d45;uid=sa;pwd=123;database=book" 
     
     cn.Open 
      
      rs_xx.Open sql, cn, adOpenStatic, adLockReadOnly, adCmdText 
      
      If rs_xx.RecordCount > 0 Then 
         rs_xx.MoveFirst
      else
         MsgBox "索书号错误!", vbOKOnly + vbExclamation, ""  
      end if
      
      While not rs_xx.eof
         If IsNull(rs_xx.Fields("还书日期")) Then 
            Text2.Text = rs_xx.Fields("书名") 
            Text3.Text = rs_xx.Fields("编号") 
            Text4.Text = rs_xx.Fields("借书日期") 
            Text5.Text = rs_xx.Fields("应还日期")   
         end if    rs_xx.MoveNext  wend