eaglelin 发表于 2014-11-21 11:25:58

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

问一下 我想用一下 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

kk_lee69 发表于 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 的東西

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

要不你 你用舊版的用你現在的程式 跑看看

baduxiyang 发表于 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]
                $file[$n] = $RS.Fields(3).value
                $file[$n] = $RS.Fields(1).value
                $file[$n] = $RS.Fields(2).value
                $file[$n] = $RS.Fields(4).value
                $n = $n + 1
                $RS.movenext
        WEnd
        $RS.close
        $addfld.Close
        Return $file
EndFunc   ;==>du

eaglelin 发表于 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 http://www.autoitx.com/images/common/back.gif


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

还是死锁算了我还是用SQLite吧谢谢

header 发表于 2014-11-21 13:17:06

死锁跟新版本无关系吧?数据库读写是调用组件的
sqlite 确实比 access好啊

Authree 发表于 2014-11-21 15:35:57

还没学到数据库,,不知道这个sqlite怎么个用法,,需要安装吗

tvzml 发表于 2014-11-21 20:48:18

加了密码的ACCESS数据库 目前好像是无法操作,我测试出来是这个情况。

austere 发表于 2014-11-21 21:40:49

回复 7# tvzml


    我测试加密的ACCESS的没有问题,不过我没用新版本3.3.12以上的不清楚~

xichha 发表于 2014-11-22 07:18:14

跟access版本有没有关系?2003与2013,32位跟64位,使用方法相同吗?

eaglelin 发表于 2014-11-22 07:48:58

跟access版本有没有关系?2003与2013,32位跟64位,使用方法相同吗?
xichha 发表于 2014-11-22 07:18 http://www.autoitx.com/images/common/back.gif


    我也没用 access 2013建立数据库啊    就是用程序建立的

shihun419756 发表于 2014-11-27 14:54:51

难道新版不支持 access数据库吗?
页: [1]
查看完整版本: 难道新版不支持 access数据库吗?