请教数据库连接!
请教大侠,最简单的连接数据的代码能不能公布一下??最好是Access的[ 本帖最后由 tzwwy 于 2008-5-19 15:40 编辑 ] 供你参考,并不复杂:
$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
以下是循环读取表记录的例子
$tempData=""
while not $rs.eof and not $rs.bof
if @error =1 Then ExitLoop
$tempData=$tempData&($RS.Fields("value").Value)&"|"
$rs.movenext
WEnd
几个自定义函数都是通过ObjCreate("ADODB.Connection")来实现的 (创建库使用的是ObjCreate("ADOX.Catalog"))
使用sql语句的完整过程:
$pro = ObjCreate("ADODB.Connection")
$pro.Open("Provider=Microsoft.Jet.OLEDB.4.0; Data Source=" & $dbname)
$pro.Execute(sql)
$pro.Close 原帖由 Rota 于 2008-5-6 17:16 发表 http://www.autoitx.com/images/common/back.gif
供你参考,并不复杂:
$dbname="test.mdb"
$tblname="测试表"
$fldname="测试字段"
$format="int"
$sData="123456"
$T="*"
_CreateDB($dbname)
_CreateTBL($dbname, $tblname)
_CreateFLD($dbname, $tblnam ...
已经很完整。再问一下楼上的,有没有收藏有关SQL方面的代码?方便的话提供一下,谢谢 不错哦,只是有密码的呢? 原帖由 mz9909 于 2008-5-6 23:06 发表 http://www.autoitx.com/images/common/back.gif
不错哦,只是有密码的呢?
Provider=Microsoft.Jet.OLEDB.4.0; Data Source=" & $dbname
上面的改成下面的
Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & $dbname& ";Jet Oledb:Database Password=这是密码" SQL 也是大同小异的.可以参考一下这里.
$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 What from "& $tblname & " Where ID='" & InputBox("","What") &"'")
同样用$rs.eof去判断是否结束,用movenext去找下一条记录. 例子,查询Conn = ObjCreate("ADODB.Connection")
$Conn.Open("Provider=SQLOLEDB; Server=IP地址;Database=数据库名;Uid=用户名 ;Pwd=密码;")
$RS = ObjCreate("ADODB.Recordset")
$RS.ActiveConnection = $Conn
$RS.Open("Select * From AllInOne where Sn_Definition=" & $Sn_Definition)
_GUICtrlListView_DeleteAllItems($ListView1)
$i = 0
While (Not $RS.eof And Not $RS.bof)
$listvalue = $listvalue & $RS.Fields(4).value & "|" & $RS.Fields(5).value & "|" & $RS.Fields(3).value & "|" & $RS.Fields(1).value & "|" & $RS.Fields(9).value & "|" & $RS.Fields(7).value & "|" & Chastatus($Status)
GUICtrlCreateListViewItem($listvalue, $ListView1);显示$listvalue
$RS.movenext ;移到下一条记录
$listvalue = ""
$i = $i + 1
WEnd
$RS.close
$Conn.Close
页:
[1]