找回密码
 加入
搜索
查看: 7007|回复: 10

[系统综合] 难道新版不支持 access数据库吗?

  [复制链接]
发表于 2014-11-21 11:25:58 | 显示全部楼层 |阅读模式
问一下 我想用一下 access数据库  
因为我的数据 比较简单化  

没想到我吧坛子上的ACCESS 数据库例子运行了一下
竟然是死锁的 真奇怪  

但是SQLite例子 是可以运行的  

难道新版不支持 access数据库吗?


具体代码是这样的

Func du()
     GUICtrlSendMsg($ListView1, $LVM_DELETEALLITEMS, 0, 0)
          $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 "&$T & " From " & $tblname )
           while Not $RS.eof And Not $RS.bof
           if @error =1 Then ExitLoop
            GUICtrlCreateListViewItem ( $RS.Fields (0).value&"|"& $RS.Fields (1).value&"|"& $RS.Fields (2).value&"|"& $RS.Fields (3).value&"|"& $RS.Fields (4).value,$ListView1 )

              ; MsgBox(0, "", $RS.Fields (1).value);显示表第一个数据
             $rs.movenext
              WEnd
               $rs.close
              $addfld.Close
EndFunc
发表于 2014-11-21 11:42:57 | 显示全部楼层
$addfld = ObjCreate("ADODB.Connection")
            $addfld.Open("Provider=Microsoft.Jet.OLEDB.4.0; Data Source=" &$mdb_data_path)
         $RS =ObjCreate("ADODB.Recordset")
          $RS.ActiveConnection = $addfld

這段的東西 其實是 電腦裡面的ODBC 的東西

程式不能跑 跟 新舊版應該無關

要不  你 你用舊版的  用你現在的程式 跑看看
发表于 2014-11-21 12:30:30 | 显示全部楼层
Func data($mdb_data_path, $tblname)
        If Not FileExists($mdb_data_path) Then
                $newMdb = ObjCreate("ADOX.Catalog")
                $newMdb.Create("Provider=Microsoft.Jet.OLEDB.4.0; Data Source=" & $mdb_data_path & ";Jet Oledb:Database Password=" & $mdb_data_pwd)
                $newMdb.ActiveConnection.Close;建数据库
                $addtbl = ObjCreate("ADODB.Connection")
                $addtbl.Open("Provider=Microsoft.Jet.OLEDB.4.0; Data Source=" & $mdb_data_path & ";Jet Oledb:Database Password=" & $mdb_data_pwd)
                $addtbl.Execute("CREATE TABLE " & $tblname)
                ;$addtbl.Execute("CREATE TABLE ignorant")
                $addtbl.Close;建表

                $addfld = ObjCreate("ADODB.Connection")
                $addfld.Open("Provider=Microsoft.Jet.OLEDB.4.0; Data Source=" & $mdb_data_path & ";Jet Oledb:Database Password=" & $mdb_data_pwd)
                $addfld.Execute("ALTER TABLE " & $tblname & " ADD id identity(1, 1) primary key ,address text ,ico text ,name text ,newid number");id identity(1, 1) primary key为自动编号和主键
                $addfld.Close;建列表名   ADD id identity(1, 1) primary key
                MsgBox(64, " 提示:", @CRLF & "建立数据库成功", 5)
        Else
                MsgBox(64, " 提示:", @CRLF & "你已经建立了一个数据库了....", 5)
        EndIf
EndFunc   ;==>data

Func du()
        $addfld = ObjCreate("ADODB.Connection")
        $addfld.Open("Provider=Microsoft.Jet.OLEDB.4.0; Data Source=" & $mdb_data_path & ";Jet Oledb:Database Password=" & $mdb_data_pwd)
        $RS = ObjCreate("ADODB.Recordset")
        $RS.ActiveConnection = $addfld
        $RS.Open("Select * From " & $tblname & " ORDER BY id ASC");
        While Not $RS.eof And Not $RS.bof
                If @error = 1 Then ExitLoop
                ReDim $file[$n + 1][4]
                $file[$n][0] = $RS.Fields(3).value
                $file[$n][1] = $RS.Fields(1).value
                $file[$n][2] = $RS.Fields(2).value
                $file[$n][3] = $RS.Fields(4).value
                $n = $n + 1
                $RS.movenext
        WEnd
        $RS.close
        $addfld.Close
        Return $file
EndFunc   ;==>du
 楼主| 发表于 2014-11-21 13:15:28 | 显示全部楼层
Func data($mdb_data_path, $tblname)
        If Not FileExists($mdb_data_path) Then
                $newMdb = ObjCreate( ...
baduxiyang 发表于 2014-11-21 12:30



    谢谢你引用了这么多
我用的是水木子的 源码   写的跟你完全一样  

还是死锁  算了我还是用SQLite吧  谢谢
发表于 2014-11-21 13:17:06 | 显示全部楼层
死锁跟新版本无关系吧?数据库读写是调用组件的
sqlite 确实比 access好啊
发表于 2014-11-21 15:35:57 | 显示全部楼层
还没学到数据库,,不知道这个sqlite怎么个用法,,需要安装吗
发表于 2014-11-21 20:48:18 | 显示全部楼层
加了密码的ACCESS数据库 目前好像是无法操作,我测试出来是这个情况。
发表于 2014-11-21 21:40:49 | 显示全部楼层
回复 7# tvzml


    我测试加密的ACCESS的没有问题,不过我没用新版本3.3.12以上的不清楚~
发表于 2014-11-22 07:18:14 | 显示全部楼层
跟access版本有没有关系?2003与2013,32位跟64位,使用方法相同吗?
 楼主| 发表于 2014-11-22 07:48:58 | 显示全部楼层
跟access版本有没有关系?2003与2013,32位跟64位,使用方法相同吗?
xichha 发表于 2014-11-22 07:18



    我也没用 access 2013建立数据库啊    就是用程序建立的
发表于 2014-11-27 14:54:51 | 显示全部楼层
难道新版不支持 access数据库吗?
您需要登录后才可以回帖 登录 | 加入

本版积分规则

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

GMT+8, 2024-5-2 20:58 , Processed in 0.080914 second(s), 21 queries .

Powered by Discuz! X3.5 Licensed

© 2001-2024 Discuz! Team.

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