梦想吧技术论坛's Archiver

似水年华 发表于 2007-4-12 01:03 PM

用AutoIt操作access数据库的例子

上周写个access操作的简单应用,网上找了个例子,自己又加了点别的操作,看论坛上没有相关的信息,就共享一下。
源贴位置[color=#800080]http://blog.sina.com.cn/u/49121eaf0100062y[/color],最下面加了一个循环操作的简单例子。如果是sqlserver相比大家也知道怎么改的,就把连接参数改一下即可。

[code]$dbname="test.mdb"
$tblname="测试表"
$fldname="测试字段"
$format="int"
$sData="123456"
$T="*"
_CreateDB($dbname)
_CreateTBL($dbname,  $tblname)
_CreateFLD($dbname,  $tblname,  $fldname,  $format)
;_InsertData($dbname,  $tblname,  $fldname,  $sData)
;_DeleteData($dbname,  $tblname,  $fldname,  $sData)
_SelectData($dbname,  $tblname,  $fldname,  $T)
Func  _CreateDB($dbname)
    $newMdb  =  ObjCreate("ADOX.Catalog")
    $newMdb.Create("Provider=Microsoft.Jet.OLEDB.4.0;  Data  Source="  &  $dbname)
    $newmdb.ActiveConnection.Close
EndFunc

Func  _CreateTBL($dbname,  $tblname)
    $addtbl  =  ObjCreate("ADODB.Connection")
    $addTbl.Open("Provider=Microsoft.Jet.OLEDB.4.0;  Data  Source="  &  $dbname)
    $addTbl.Execute("CREATE  TABLE  "  &  $tblname)
    $addtbl.Close
EndFunc

Func  _CreateFLD($dbname,  $tblname,  $fldname,  $format)
    $addfld  =  ObjCreate("ADODB.Connection")
    $addfld.Open("Provider=Microsoft.Jet.OLEDB.4.0;  Data  Source="  &  $dbname)
    $addfld.Execute("ALTER  TABLE  "  &  $tblname  &  "  ADD  "  &  $fldname  &  "  "  &  $format)
    $addfld.Close
EndFunc

Func  _InsertData($dbname,  $tblname,  $fldname,  $sData)
    $addfld  =  ObjCreate("ADODB.Connection")
    $addfld.Open("Provider=Microsoft.Jet.OLEDB.4.0;  Data  Source="  &  $dbname)
    $addfld.Execute("Insert  Into  "  &  $tblname  &  "  ("  &  $fldname  &  ")  "  &  "VALUES  ("&$sData&")")
    $addfld.Close
EndFunc

Func  _DeleteData($dbname,  $tblname,  $fldname,  $sData)
    $addfld  =  ObjCreate("ADODB.Connection")
    $addfld.Open("Provider=Microsoft.Jet.OLEDB.4.0;  Data  Source="  &  $dbname)
    $addfld.Execute("Delete  From  "  &  $tblname  &  "  Where  "  &  $fldname  &  "  =  "  &$sData)
    $addfld.Close
EndFunc

Func  _SelectData($dbname,  $tblname,  $fldname,  $T)
    $addfld  =  ObjCreate("ADODB.Connection")

    $addfld.Open("Provider=Microsoft.Jet.OLEDB.4.0;  Data  Source="  &  $dbname)
    $RS  =ObjCreate("ADODB.Recordset")
    $RS.ActiveConnection  =  $addfld
    $RS.Open    ("Select  "&$T  &  "  From  "  &  $tblname  )
    msgbox(0,"",$RS.Fields(0).Name)
    msgbox(0,"",$RS.Fields(0).Value)

    $addfld.Close
EndFunc

以下是循环读?quot;砑锹嫉睦?br/>$tempData=""
while  not  $rs.eof  and  not  $rs.bof
    if  @error  =1  Then  ExitLoop
    $tempData=$tempData&($RS.Fields("value").Value)&"|"
    $rs.movenext
WEnd[/code]

页: [1]

Powered by Discuz! Archiver 7.0.0  © 2001-2009 Comsenz Inc.