Public Function getLastCode(letter As String) As String
Dim rs As New ADODB.Recordset
Dim sqlstr As String
rs.CursorLocation = adUseClient
rs.CursorType = adOpenStatic
'sqlstr = "select top 1 * from equipment where code like '" & letter & "#####' order by code desc"
sqlstr = "select top 1 * from equipment where code like '" & letter & "*' order by code desc"
Set rs = cn.Execute(sqlstr)
If rs.RecordCount > 0 Then
getLastCode = rs(0).Value
Else
getLastCode = letter & "000000"
End If
End Function本人刚一直研究C#,刚接触VB 对ADODB还不熟悉,
ask:上述代码,为何rs.RecordCount 始终为0,请达人指教
Dim rs As New ADODB.Recordset
Dim sqlstr As String
rs.CursorLocation = adUseClient
rs.CursorType = adOpenStatic
'sqlstr = "select top 1 * from equipment where code like '" & letter & "#####' order by code desc"
sqlstr = "select top 1 * from equipment where code like '" & letter & "*' order by code desc"
Set rs = cn.Execute(sqlstr)
If rs.RecordCount > 0 Then
getLastCode = rs(0).Value
Else
getLastCode = letter & "000000"
End If
End Function本人刚一直研究C#,刚接触VB 对ADODB还不熟悉,
ask:上述代码,为何rs.RecordCount 始终为0,请达人指教
sqlstr = "select top 1 * from equipment where code like '"& letter &"%' order by code desc"
sqlstr = "select top 1 * from equipment where code like '"& letter &"*' order by code desc我在ACCESS数据库中运行过,是可以查询到记录的·通用。
SQL语句无任何问题
但是数据库连接cn 类型是否设置正确?
cn.CursorLocation = adUseClient
cn.ConnectionString = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & App.Path & "\data\E0508.mdb;Persist Security Info=False;Jet OLEDB:Database Password=hwrj"
cn.Open
cn的设置代码。。
If rs.EOF Then
getLastCode = letter & "000000"
Else
getLastCode = rs(0).Value
End If
-1 是因为游标设置问题,这个我知道
rs.Open sqlstr, cn
getLastCode = letter & "000000"
Else
getLastCode = rs(0).Value
End If
用了这代码,但程序判断始终是EOF 无论数据库是否有记录。。
2. vb的sql语句通配符是 %和_
把游标类型改成客户端的,就可以了