nop 发表于 2011-12-1 11:33:39

关于mysql.au3的一个问题

是withoutODBC的版本,自带的test.au3里只有查询,可以正常查询我的mysql,但是我在其中使用 _AddRecord添加记录时提示,怎么回事?

ERROR: _AddRecord(): undefined function.



mysql.au3的相关文件我都在当前目录和include文件夹都放了一份

nivisde 发表于 2011-12-1 14:31:00

#include是否包含正确的文件名。是否存在
函数名是否正确。

nop 发表于 2011-12-1 14:48:27

回复 2# nivisde


    include肯定没问题,自带的test里面就调用了很多mysql.au3的函数。
_AddRecord是我照着论坛的教程添加的,mysql.au3中也找到了,没问题

xms77 发表于 2011-12-1 20:59:53

直接copy MySql.au3里的_AddRecord()试试.

nop 发表于 2011-12-1 23:24:30

回复 4# xms77


    问题依旧啊,这个是mysql.au3中的_AddRecordFunc _AddRecord($oConnectionObj, $sTable, $vRow, $vValue = "")
        If IsObj($oConnectionObj) Then
                $query = "INSERT INTO " & $sTable & " ("
               
                If IsArray($vRow) Then
                        For $i = 0 To UBound($vRow, 1) - 1
                                If $i > 0 And $i <> UBound($vRow, 1) - 1 Then
                                        $query = $query & "," & $vRow[$i] & ""
                                ElseIf $i = UBound($vRow, 1) - 1 And $vRow[$i] <> "" Then
                                        $query = $query & "," & $vRow[$i] & ") VALUES("
                                ElseIf $i = 0 Then
                                        $query = $query & "" & $vRow[$i] & ""
                                ElseIf $vRow[$i] = "" Then
                                        $query = $query & ") VALUES("
                                EndIf
                        Next
                EndIf
                If Not IsArray($vRow) And Not IsArray($vValue) And Not IsInt($vValue) Then
                        $oConnectionobj.execute ("INSERT INTO " & $sTable & " (" & $vRow & ") VALUES('" & $vValue & "')")
                        return 1
                ElseIf IsInt($vValue) And Not IsArray($vRow) And Not IsArray($vValue) Then
                        $oconnectionobj.execute ("INSERT INTO " & $sTable & " (" & $vRow & ") VALUES(" & $vValue & ")")
                        return 1
                EndIf
               
                If IsArray($vValue) Then
                        For $i = 0 To UBound($vValue, 1) - 1
                                If $i > 0 And $i <> UBound($vValue, 1) - 1 And Not IsInt($vValue[$i]) Then
                                        $query = $query & ",'" & $vValue[$i] & "'"
                                ElseIf $i = UBound($vValue, 1) - 1 And $vValue[$i] <> "" And Not IsInt($vValue[$i]) Then
                                        $query = $query & ",'" & $vValue[$i] & "');"
                                ElseIf $i = 0 And Not IsInt($vValue[$i]) Then
                                        $query = $query & "'" & $vValue[$i] & "'"
                                ElseIf $vValue[$i] = "" Then
                                        $query = $query & ");"
                                ElseIf IsInt($vValue[$i]) And $vValue[$i] <> "" Then
                                        $query = $query & "," & $vValue[$i]
                                EndIf
                        Next
                EndIf
                If StringRight($query, 2) <> ");" Then
                        $query = $query & ");"
                       
                EndIf
                $oconnectionobj.execute ($query)
        EndIf
        If Not IsObj($oConnectionObj) Then
                SetError(2)
                Return 0
        EndIf
        If @error And IsObj($oConnectionObj) Then
                Return 0
                SetError(1)
        Else
                Return 1
        EndIf
       
EndFunc   ;==>_AddRecord代码我这样写的
dim $tvalues
$tvalues = "pc"
$tvalues = "email"
$tvalues = "";

_AddRecord($connected,'s',$tvalues,$tvalues)
页: [1]
查看完整版本: 关于mysql.au3的一个问题