数据库已经连上,却读不到数据
t = Format(Now(), "yyyymmdd")
tt = PATH1 & "\" & t & ".dbf"
If Dir(tt, vbHidden) = "" Then '' 判断文件是否存在
Label2.Caption = Now() & " 1#生产数据库连接失败!"
Label2.ForeColor = vbRed
Exit Sub
Else
t = Format(Now(), "yyyymmdd")
End If
If (dbcon.State <> 1) Then
Set dbcon = New ADODB.Connection
str = "Provider=MSDASQL.1;Driver=Microsoft Visual Foxpro Driver;SourceDB=" & PATH1 & ";SourceType=DBF;"
dbcon.CursorLocation = adUseClient
On Error Resume Next
dbcon.Open str ''打开A楼数据库
If dbcon.State <> 1 Then
Label2.Caption = Now() & " 1#生产数据库连接失败!"
Label2.ForeColor = vbRed
Exit Sub
Else
Label2.Caption = Now() & " 1#生产数据库连接成功!"
Label2.ForeColor = vbWhite
End If
End If
Set db_rs = New ADODB.Recordset
sql = "select * from " & tt & " order by SJ"
db_rs.Open sql, dbcon, adOpenKeyset, adLockOptimistic
If db_rs.RecordCount > 0 Then
db_rs.MoveFirst
Do While Not db_rs.EOF
pTime = Trim(db_rs.Fields("SJ"))
GCMC = Trim(db_rs.Fields("GCMC"))
If Trim(db_rs.Fields("GCBW")) <> "" Then
GCBW = Trim(db_rs.Fields("GCBW"))
Else
GCBW = ""
End If
db_rs.MoveNext
Loop
db_rs.RecordCount > 0 这句提示数据提供程序或其他服务返回 E_FAIL 状态 --------------------编程问答-------------------- 显示数据库已经连上 --------------------编程问答-------------------- 查看一下PATH1 & "\" & t & ".dbf"
这个表里是不是真的有数据 --------------------编程问答-------------------- 另外str是一个函数的名字,尽量不要用做变量名称 --------------------编程问答-------------------- 表里确实有数据,而且查询条件也是可行的 --------------------编程问答-------------------- 把adOpenKeyset改为AdOpenDynamic试试? --------------------编程问答-------------------- 运行第二次的时候 会在这里
db_rs.RecordCount > 0 这句提示数据提供程序或其他服务返回 E_FAIL 状态 --------------------编程问答--------------------
select * from 数据库里面的表名
不是路径名 --------------------编程问答-------------------- 改了也是不行 ,总会出现那个提示错误 --------------------编程问答-------------------- 这个是DBF 数据库,表名就是路径名 --------------------编程问答-------------------- DBF 数据库,表名就是路径名?
DBF 数据库,数据库名就是路径名,文件名才是表名 --------------------编程问答-------------------- 多亏这个还玩过
--------------------编程问答-------------------- 要得到db_rs.RecordCount,使用客户端游标试试 db_rs.cursorlocation=aduseclient --------------------编程问答-------------------- 这个要支持一下
--------------------编程问答-------------------- O(∩_∩)O谢谢大家 已经解决
还是连接参数的问题改为
"Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" + PATH1 + ";Extended Properties=dBASE IV;User ID=Admin;Password="--------------------编程问答-------------------- 不结贴了?
--------------------编程问答-------------------- 没有养成结贴的习惯,等下次吧!
补充:VB , 数据库(包含打印,安装,报表)