找回密码
 加入
搜索
查看: 6888|回复: 15

[AU3基础] MDB 这个错误为什么出弹出一个错误.求解。

  [复制链接]
发表于 2015-8-2 11:31:17 | 显示全部楼层 |阅读模式
本帖最后由 netba 于 2015-8-2 12:25 编辑


$mdb_data_path = "date.mdb"
$addfld = ObjCreate("ADODB.Connection")
$addfld.Open("Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & $mdb_data_path)
$RS = ObjCreate("ADODB.Recordset")
$RS.ActiveConnection = $addfld
$RS.open("Select * from gbook Where id=5454")


If $RS.Fields(1).Value <> 5454 Then

        MsgBox(0,"结果","找到记录")

else
       MsgBox(0,"结果","没有记录")


EndIf

$RS.close

Exit
再做了修改
在表gbook id 找5454
找到就显示。找不到就退出 但是如果表里没有这个数。输出是一个错误的窗口
语句有什么问题吗。求改正

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?加入

×
发表于 2015-8-2 11:54:11 | 显示全部楼层
不太懂得你的例子
发表于 2015-8-2 11:54:14 | 显示全部楼层
不太懂得你的例子
 楼主| 发表于 2015-8-2 12:26:46 | 显示全部楼层
回复 2# kemyliu


    但是如果表里 id下找不到5454 这个数。输出是一个错误的窗口
  这个窗口怎么搞掉。。或者不显示这个错误窗口
 楼主| 发表于 2015-8-2 12:29:48 | 显示全部楼层


数据库文件

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?加入

×
发表于 2015-8-2 17:03:52 | 显示全部楼层
本帖最后由 chzj589 于 2015-8-2 17:18 编辑

回复 1# netba
应该是这样:

$mdb_data_path = @ScriptDir & "\date.mdb"
$tblname = "gbook"
$addfld = ObjCreate("ADODB.Connection")
$addfld.Open("Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & $mdb_data_path)
$RS = ObjCreate("ADODB.Recordset")
$RS .ActiveConnection = $addfld
$RS.Open("Select " & "*" & " From " & $tblname)
While Not $RS .eof And Not $RS .bof
        $tbl = $RS.Fields(0).Value
        $RS .movenext
WEnd
$RS .close
$addfld .Close
If $tbl >= 5454 Then
        MsgBox(64, "结果", "找到记录"& $tbl & "")
Else
        MsgBox(64, "结果", "没有这个记录,最高记录:" & $tbl & "")
EndIf
 楼主| 发表于 2015-8-2 19:50:58 | 显示全部楼层

这个数据库是一个留言板的。中间有删除记录。ID 最大值。并不在表尾。。

本帖最后由 netba 于 2015-8-2 20:13 编辑

这个数据库是一个留言板的。中间有删除记录。ID 最大值。并不在表尾。。

怎么获取表 id 的最大值。。。
发表于 2015-8-2 20:16:39 | 显示全部楼层
回复 7# netba

你提供的<数据库文件-date.mdb>有点问题。查询不是最后一条记录
$mdb_data_path = @ScriptDir & "\date.mdb"
$tblname = "gbook"
$addfld = ObjCreate("ADODB.Connection")
$addfld.Open("Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & $mdb_data_path)
$RS = ObjCreate("ADODB.Recordset")
$RS .ActiveConnection = $addfld
$RS.Open("Select " & "*" & " From " & $tblname)
While Not $RS .eof And Not $RS .bof
        $Item = $RS.Fields(0).value & @CR & $RS.Fields(1).value & @CR & $RS.Fields(2).value & @CR & $RS.Fields(3).value & @CR & $RS.Fields(4).value & @CR & $RS.Fields(5).value & @CR & $RS.Fields(6).value & @CR & $RS.Fields(7).value & @CR & $RS.Fields(8).value & @CR & $RS.Fields(9).value & @CR & $RS.Fields(10).value
        $tbl = $RS.Fields(0).Value
        $RS .movenext
WEnd
$RS .close
$addfld .Close
MsgBox(64, "结果", "找到记录,最后记录:"& $Item & "")
If $tbl = 1847 Then  ;5454
        MsgBox(64, "结果", "找到记录,最高记录:"& $tbl & "")
Else
        MsgBox(64, "结果", "没有这个记录,最高记录:" & $tbl & "")
EndIf
 楼主| 发表于 2015-8-2 21:10:41 | 显示全部楼层
回复 8# chzj589


    是网页留言板的数据库 因为在留言过程中。有对记录有删除所以,ID最大值的那条记录才是最近输入的。
 楼主| 发表于 2015-8-2 21:37:28 | 显示全部楼层
所以我之前发的代码是。通过一个数值去判断是不是最大值。但是如果ID下没有条件值的。程序就提示出错。。。
发表于 2015-8-3 00:19:45 | 显示全部楼层
回复 10# netba
做个窗口,创建GUICtrlCreateListView控件,不就行了

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?加入

×
发表于 2015-8-3 09:26:27 | 显示全部楼层
回复 10# netba



本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?加入

×
发表于 2015-8-5 09:27:14 | 显示全部楼层
回复 10# netba

問題解決了嗎
发表于 2015-8-5 09:34:10 | 显示全部楼层
回复 10# netba

問題解決了嗎

SELECT *  FROM gbook   WHERE id=(select max(id) from  gbook);

用這個語法 值接抓出最後一筆資料
发表于 2015-8-6 22:45:55 | 显示全部楼层
需要对错误 预设 ,才不会错误了导致程序中断
您需要登录后才可以回帖 登录 | 加入

本版积分规则

QQ|手机版|小黑屋|AUTOIT CN ( 鲁ICP备19019924号-1 )谷歌 百度

GMT+8, 2024-12-23 07:28 , Processed in 0.085378 second(s), 24 queries .

Powered by Discuz! X3.5 Licensed

© 2001-2024 Discuz! Team.

快速回复 返回顶部 返回列表