|
发表于 2009-2-13 06:18:43
|
显示全部楼层
你想得太复杂了,au3和access的连接,3行代码就可以了,剩下的就是SQL语言的操作,跟au3没什么关系了。
Local $tDB_File = IniRead(@ScriptDir & "Config.ini", "Local Database", "Database File", "")
Local $Connection = ObjCreate("ADODB.Connection")
Local $RecordSet = ObjCreate("ADODB.Recordset")
$Connection.Open("Provider=Microsoft.Jet.OLEDB.4.0; Data Source=" & $tDB_File)
以上就是连接Access的代码,$tDB_File读取ini文件获得Access文件路径,$Connection和$RecordSet是两个基本变量,$Connection.Execute("")用于执行插入、修改、删除等操作的SQL指令,$RecordSet.Open("SQL指令", $Connection)用于执行SELECT的SQL指令,并把搜索结果保存。
$RecordSet.Fields.Count保存了一共返回了多少数列
$RecordSet.Fields.Item($i).Value表示第$i数列的值(当然,一次只能处理一个row,所以你需要下面的代码来循环读取)
If Not $RecordSet.EOF Then
$RecordSet.MoveFirst
Do
$SQL_Counter += 1
ReDim $aReturn2D[$SQL_Counter][$RecordSet.Fields.Count] ; ReDim Array
For $i = 0 To $RecordSet.Fields.Count-1 Step 1
$aReturn2D[$SQL_Counter-1][$i] = $RecordSet.Fields.Item($i).Value
Next
$RecordSet.MoveNext
Until $RecordSet.EOF
EndIf
$RecordSet.Close
$Connection.Close
上面有一些Counter等计数变量,你可以忽略,基本你修改一下就可以成为自己UDF了 |
|