VB中连接到数据库查询VB code Set cn3 New ADODB.ConnectionIf cn3.State adStateClosed Then cn3.Cl
VB中连接到数据库查询
- VB code
Set cn3 = New ADODB.ConnectionIf cn3.State <> adStateClosed Then cn3.Close cn3.Open "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & App.Path & "\数据库\总数据.mdb;Persist Security Info=False" Set rs3 = New ADODB.Recordset If rs3.State <> adStateClosed Then rs3.Close rs3.CursorLocation = adUseClient rs3.Open "select 编号,名称,类型,出版社,供货商,架位,拼音简写,库存数量,现存数量,进货价,租赁单价 from 光盘信息表 where #" & rs3.Fields(4) & "='" & Combo1.Text & "'#and#" & rs3.Fields(1) & "='" & Text2.Text & "'# ", cn3, adOpenDynamic, adLockOptimistic
[解决办法]
楼上贴了段没头没脑的代码啥意思。刚新建的cn3,rs3就Close纯粹多余吧。
正常情况下,建议按这个顺序更合理些。
rs3.Close
cn3.Close
cn3.Open
rs3.Open
[解决办法]
Set cn3 = New ADODB.Connection
'If cn3.State <> adStateClosed Then cn3.Close '没有必要,因为cnn是刚创建的
cn3.Open "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & App.Path & "\数据库\总数据.mdb;Persist Security Info=False"
Set rs3 = New ADODB.Recordset
' If rs3.State <> adStateClosed Then rs3.Close'没有必要,因为rs3是刚创建的
rs3.CursorLocation = adUseClient
rs3.Open "select 编号,名称,类型,出版社,供货商,架位,拼音简写,库存数量,现存数量,进货价,租赁单价 from 光盘信息表 where #" & rs3.Fields(4) & "='" & Combo1.Text & "'#and#" & rs3.Fields(1) & "='" & Text2.Text & "'# ", cn3, adOpenDynamic, adLockOptimistic
红色部分就莫名其妙了,rs3都还没打开,怎么能访问他们的字段?rs3.Fields(4)等应该换成数据库的字段名称
[解决办法]
- VB code
'sql语句有问题,rs3记录集还没有打开,不能引用,最好在SQL语句中直接写上字段名:'where语句中字段名不需要用#号,and两边也不需要#号,#号只在引用日期变量之间使用rs3.Open "select 编号,名称,类型,出版社,供货商,架位,拼音简写,库存数量,现存数量,进货价,租赁单价 from 光盘信息表 where 字符型字段名='" & 字符型变量 & "' and " 数值型字段名=" & 数值型变量 & "", cn3, adOpenDynamic, adLockOptimistic
