tsys 发表于 2012-1-15 19:42:28

请教AU3如何使用adodb读取Access数据库指定表中的列名[已解决]

本帖最后由 tsys 于 2012-1-15 23:47 编辑

如题,附上创建数据库的代码,希望能用adodb读取$tblname表中的 每个列名, 目的是为了避免以后在创建列的时候与数据库中已存在列名发生冲突造成不必要的错误,从论坛上下载了adodb的学习文档,看过后发现和VBScript的对象一样难学,远水解不了近渴,虚心求教,忘论坛朋友正面回答.
下面附上创建数据库,表和列的代码:new()
Func new()
                Local $mdb_data_path=@ScriptDir&"\DB0.mdb"
                Local $mdb_data_pwd="test"
                Local $tblname="Control"
               
      $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.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,name text(255) ,ssex text(50),qq int");id identity(1, 1) primary key为自动编号和主键
      $addfld.Close;建列表名
      MsgBox(0,'提示:','创建成功!!!')
EndFunc

tsys 发表于 2012-1-15 23:47:26

换个思路解决了,如果数据库中存在与当前创建的列名相同,au3会提示 请求动作失败(请求于对象), 别忘了AU3还有objevent,遇到此类问题的朋友,用ObjEvent("AutoIt.Error","MyErrFunc") 自定义一个函数处理这个错误就可以了
页: [1]
查看完整版本: 请教AU3如何使用adodb读取Access数据库指定表中的列名[已解决]