连接数据库:
__MySQL_ExtractEmbeddedDLL() _MySQL_InitLibrary() $MysqlConn = _MySQL_Init() $connected = _MySQL_Real_Connect($MysqlConn, $IP,$ID,$PASSWORD,$DATABASE);(,服务器名,ID,密码,数据库名) If $connected = 0 Then Exit MsgBox(16, '连接错误了瞄', _MySQL_Error($MysqlConn)) _MySQL_Set_Character_Set($MysqlConn, "GBK") _MySQL_Real_Query($MysqlConn, "CREATE DATABASE IF NOT EXISTS test DEFAULT CHARSET gbk");指定字符集关闭数据库:
_MySQL_Data_Seek($res, 0) _MySQL_Free_Result($res) _MySQL_Close($MysqlConn) _MySQL_EndLibrary()下面是实例: 我用ini文件记录数据库地址信息
Func _du($input);输入一个查询语句,返回数组。 Local $IP = IniRead(@ScriptDir & "\config.ini", "SQL", "IP", "NotFound") Local $ID = IniRead(@ScriptDir & "\config.ini", "SQL", "ID", "NotFound") Local $PASSWORD = IniRead(@ScriptDir & "\config.ini", "SQL", "PASSWORD", "NotFound") Local $DATABASE = IniRead(@ScriptDir & "\config.ini", "SQL", "DATABASE", "NotFound") __MySQL_ExtractEmbeddedDLL() _MySQL_InitLibrary() $MysqlConn = _MySQL_Init() $connected = _MySQL_Real_Connect($MysqlConn, $IP,$ID,$PASSWORD,$DATABASE);(,服务器名,ID,密码,数据库名) If $connected = 0 Then Exit MsgBox(16, '连接错误了瞄', _MySQL_Error($MysqlConn)) _MySQL_Set_Character_Set($MysqlConn, "GBK") _MySQL_Real_Query($MysqlConn, "CREATE DATABASE IF NOT EXISTS test DEFAULT CHARSET gbk");指定字符集 $query = $input Dim $len = StringLen(_StringToHex($query))/2 _MySQL_Real_Query($MysqlConn, $query,$len) $res = _MySQL_Store_Result($MysqlConn) $fields = _MySQL_Num_Fields($res) $rows = _MySQL_Num_Rows($res) Dim $array[$rows][$fields] For $k = 1 To $rows $mysqlrow = _MySQL_Fetch_Row($res,$fields) $lenthsStruct = _MySQL_Fetch_Lengths($res) For $i = 1 To $fields $length = DllStructGetData($lenthsStruct, 1, $i) $fieldPtr = DllStructGetData($mysqlrow, 1, $i) $data = DllStructGetData(DllStructCreate("char[" & $length & "]", $fieldPtr), 1) $array[$k - 1][$i - 1] = $data Next Next _MySQL_Data_Seek($res, 0) _MySQL_Free_Result($res) _MySQL_Close($MysqlConn) _MySQL_EndLibrary() Return($array) EndFunc这要注意 ,au3输入中文查询会出错,需要对字符串进行处理:
$query = $input Dim $len = StringLen(_StringToHex($query))/2插入数据:
Func _xie($sMySqlStatement) Local $IP = IniRead(@ScriptDir & "\config.ini", "SQL", "IP", "NotFound") Local $ID = IniRead(@ScriptDir & "\config.ini", "SQL", "ID", "NotFound") Local $PASSWORD = IniRead(@ScriptDir & "\config.ini", "SQL", "PASSWORD", "NotFound") Local $DATABASE = IniRead(@ScriptDir & "\config.ini", "SQL", "DATABASE", "NotFound") __MySQL_ExtractEmbeddedDLL() _MySQL_InitLibrary() $MysqlConn = _MySQL_Init() $connected = _MySQL_Real_Connect($MysqlConn, $IP,$ID,$PASSWORD,$DATABASE);(,服务器名,ID,密码,数据库名) If $connected = 0 Then Exit MsgBox(16, 'Connection Error', _MySQL_Error($MysqlConn)) _MySQL_Set_Character_Set($MysqlConn, "GBK") _MySQL_Real_Query($MysqlConn, "CREATE DATABASE IF NOT EXISTS test DEFAULT CHARSET gbk") ConsoleWrite("$sMySqlStatement " & $sMySqlStatement & @LF) If _MySQL_Real_Query($MysqlConn,$sMySqlStatement,StringLen($sMySqlStatement) * 2) <> $MYSQL_SUCCESS Then ConsoleWrite("error: " & _MySQL_errno($MysqlConn) & " " & _MySQL_error($MysqlConn) & @LF) MsgBox(16, "error: " & _MySQL_errno($MysqlConn), _MySQL_error($MysqlConn)) Return EndIf _MySQL_Close($MysqlConn) _MySQL_EndLibrary() EndFunc*给自己文章编个号10245578765321