SoulA Posted October 8, 2008 Share Posted October 8, 2008 (edited) Need help with this code. I don't think I am adding the records right but I think followed the example posted in the UDF thread pretty perfectly. I get a $oconnectionobj.execute ($query) error. #Include <File.au3> #Include <mysql.au3> $folder = "C:\test" $database = "C:\test1" While 1 $FileList = _FileListToArray($folder, "*", 1) If NOT @error Then For $i = 1 to $FileList[0] FileMove($folder & "\" & $FileList[$i], $database & "\" & $FileList[$i], 1) Next addData($FileList) EndIf sleep(10000) WEnd Func addData($FileList) Dim $values[$FileList[0] * 2 + 1] $sql = _MySQLConnect("root", "", "captured_pictures", "localhost") If NOT @error Then $index = 1 For $i = 0 to $FileList[0] $values[$i] = @Hour $values[$i + 1] = $FileList[$index] $i = $i + 2 $index = $index + 1 Next $values[UBound($values) - 1] = "" $error = _AddRecord($sql, 'mytable', $values, $values) msgbox(0,"error",$error) ;0 is error 1 is success DEBUG _MySQLEnd($sql) EndIf EndFunc Edited October 8, 2008 by SoulA Link to comment Share on other sites More sharing options...
PsaltyDS Posted October 8, 2008 Share Posted October 8, 2008 Need help with this code. I don't think I am adding the records right but I think followed the example posted in the UDF thread pretty perfectly. I get a $oconnectionobj.execute ($query) error. #Include <File.au3> #Include <mysql.au3> $folder = "C:\test" $database = "C:\test1" While 1 $FileList = _FileListToArray($folder, "*", 1) If NOT @error Then For $i = 1 to $FileList[0] FileMove($folder & "\" & $FileList[$i], $database & "\" & $FileList[$i], 1) Next addData($FileList) EndIf sleep(10000) WEnd Func addData($FileList) Dim $values[$FileList[0] * 2 + 1] $sql = _MySQLConnect("root", "", "captured_pictures", "localhost") If NOT @error Then $index = 1 For $i = 0 to $FileList[0] $values[$i] = @Hour $values[$i + 1] = $FileList[$index] $i = $i + 2 $index = $index + 1 Next $values[UBound($values) - 1] = "" $error = _AddRecord($sql, 'mytable', $values, $values) msgbox(0,"error",$error);0 is error 1 is success DEBUG _MySQLEnd($sql) EndIf EndFunc Either let the For/Next loop increment $i (with Step 2, if necessary) inside the addData() function, or use a While/WEnd loop and increment it yourself, but don't do both. The way you have it, on the first time through the loop $i = 0, you put data in $values[0] and $values[1], then increment $i so it is now 2. On the second loop through, the For/Next loop increments $i = 3, and you set $values[3] and $values[4]. Did you mean to skip $values[2]? Valuater's AutoIt 1-2-3, Class... Is now in Session!For those who want somebody to write the script for them: RentACoder"Any technology distinguishable from magic is insufficiently advanced." -- Geek's corollary to Clarke's law Link to comment Share on other sites More sharing options...
SoulA Posted October 8, 2008 Author Share Posted October 8, 2008 (edited) Yeah I guess not. Let me try and explain further what I'm trying to accomplish. The database has two columns one for a timestamp and the other with picture link. I tried to model my array after the one in this example. hereThis code should be much better... but I still don't think I'm doing the add records right. EDIT: updated some code for more error handling#Include <File.au3> #Include <mysql.au3> Dim $values[3] $folder = "C:\test" $database = "C:\test1" While 1 $FileList = _FileListToArray($folder, "*", 1) If NOT @error Then $sql = _MySQLConnect("root", "", "captured_pictures", "localhost") If NOT @error Then For $index = 1 to $FileList[0] step 1 $values[0] = @Hour $values[1] = $FileList[$index] $values[2] = "" _AddRecord($sql, 'mytable', $values, $values) ;THIS IS FILE NAME ONLY NOT THE FULL PATH If @error Then ExitLoop Else FileMove($folder & "\" & $FileList[$index], $database & "\" & $FileList[$index], 1) EndIf Next _MySQLEnd($sql) EndIf EndIf sleep(10000) WEnd Edited October 8, 2008 by SoulA Link to comment Share on other sites More sharing options...
SoulA Posted October 8, 2008 Author Share Posted October 8, 2008 Any ideas? Link to comment Share on other sites More sharing options...
PsaltyDS Posted October 9, 2008 Share Posted October 9, 2008 (edited) Yeah I guess not. Let me try and explain further what I'm trying to accomplish. The database has two columns one for a timestamp and the other with picture link. I tried to model my array after the one in this example. here This code should be much better... but I still don't think I'm doing the add records right. EDIT: updated some code for more error handling #Include <File.au3> #Include <mysql.au3> Dim $values[3] $folder = "C:\test" $database = "C:\test1" While 1 $FileList = _FileListToArray($folder, "*", 1) If NOT @error Then $sql = _MySQLConnect("root", "", "captured_pictures", "localhost") If NOT @error Then For $index = 1 to $FileList[0] step 1 $values[0] = @Hour $values[1] = $FileList[$index] $values[2] = "" _AddRecord($sql, 'mytable', $values, $values);THIS IS FILE NAME ONLY NOT THE FULL PATH If @error Then ExitLoop Else FileMove($folder & "\" & $FileList[$index], $database & "\" & $FileList[$index], 1) EndIf Next _MySQLEnd($sql) EndIf EndIf sleep(10000) WEnd I guess that looks OK, but the magic is in the _AddRecord() function, which you didn't post. You could put a MsgBox() or some ConsoleWrite() in there to make sure the right things are passed to that function. After that, it depends on the code in that function. Edit: I see the MySQL.au3 UDF, which contains _AddRecord(). Your usage matches the example you linked to, but I don't know if that function needs work, and I don't have a MySQL install to test against. Edited October 9, 2008 by PsaltyDS Valuater's AutoIt 1-2-3, Class... Is now in Session!For those who want somebody to write the script for them: RentACoder"Any technology distinguishable from magic is insufficiently advanced." -- Geek's corollary to Clarke's law Link to comment Share on other sites More sharing options...
Recommended Posts
Create an account or sign in to comment
You need to be a member in order to leave a comment
Create an account
Sign up for a new account in our community. It's easy!
Register a new accountSign in
Already have an account? Sign in here.
Sign In Now