Xonos Posted August 9, 2012 Posted August 9, 2012 So I have been in and out of AutoIt for a few years now and I've never come across a situration where I'd need to verify if an a variable is an array or not. So here's the deal - I have a database that contains 1 table with a few different columns. When a user initially opens the script, it will see if their "username" pulled from @UserName is stored in the database (which is always unique). If their username is not in the database, it inserts a record (using EzMySql) including their username, full name (pulled from -> _AD_Open() Global $adFullName = _AD_GetObjectAttribute(@UserName, "DisplayName") Global $uSName = @UserName _AD_Close() <-), Time Stamp, Accept Flag (0/1) and Deny Flag (0/1). This is all irrelevant at this point but I just wanted you to understand what I am doing here. Anyways, I am getting to the point to where I am storing specific values from the table into variables. EzMySql will store the data in an array (IF the query finds results) however if it does not, then the variable will not be an array. The problem is, when I run my "If statements" - if I check the variable, there is no way for me to know if the results are stored in array format or not. Here's an example, read the comment above $LookupUser. expandcollapse popupFunc _CheckDatabase() ; Obtain user's Full Name and store as variable. If Not _EzMySql_Startup() Then MsgBox(0, "Error Starting MySql", "Error: "& @error & @CR & "Error string: " & _EzMySql_ErrMsg()) Exit EndIf $Pass = "D@#!$dD(#d0939kd(#Dk3093d)(#D039039ddk39dkd" If Not _EzMySql_Open("10.3.3.11", "rug_user", $Pass, "rug", "3306") Then MsgBox(0, "Error opening Database", "Error: "& @error & @CR & "Error string: " & _EzMySql_ErrMsg()) Exit EndIf If Not _EzMYSql_Query("SELECT * FROM accept_list WHERE Username = '" & @UserName & "';") Then MsgBox(0, "Query Error", "Error: "& @error & @CR & "Error string: " & _EzMySql_ErrMsg()) Exit EndIf If Not _EzMySql_SelectDB("rug") Then MsgBox(0, "Error setting Database to use", "Error: "& @error & @CR & "Error string: " & _EzMySql_ErrMsg()) Exit EndIf $LookupUser = _EzMySql_FetchData() ;This is the problem - if there is no data found, $LookupUser[1] for example will not work returning an error. This function currently works but I need more functionality. If $LookupUser == 0 Then $sMySqlStatement = "INSERT INTO accept_list (Username,FullName) VALUES (" & "'" & $uSName & "'," & "'" & $adFullName & "');" If Not _EzMySql_Exec($sMySqlStatement) Then MsgBox(0, "Error inserting data to Table", "Error: "& @error & @CR & "Error string: " & _EzMySql_ErrMsg()) Exit EndIf ElseIf $LookupUser <> 0 Then _CheckFlags() ;Call function to verify if user has accepted or not. EndIf _EzMySql_Close() _EzMySql_ShutDown() Return EndFunc [center][/center][center]Xonos Development[font=trebuchet ms,helvetica,sans-serif]- Resources -[/font]AutoIT Documentation | Active Directory UDF | Windows Services UDF | Koda GUI Designer[/center]
Scriptonize Posted August 9, 2012 Posted August 9, 2012 Did you check the IsArray() function? Xonos 1 If you learn from It, it's not a mistake
JohnOne Posted August 9, 2012 Posted August 9, 2012 And also UBound() will help verifying arrays size. Xonos 1 AutoIt Absolute Beginners Require a serial Pause Script Video Tutorials by Morthawt ipify Monkey's are, like, natures humans.
Xonos Posted August 9, 2012 Author Posted August 9, 2012 Did you check the IsArray() function? And also UBound() will help verifying arrays size. Thank you both - this solved my issue entirely! I tested it using the following and ensured that I had "#include <Array.au3>" included.: If IsArray($LookupUser) Then MsgBox(0, "Variable Array Check", "Your variable is an array - hurray!") Else MsgBox(0, "Variable Array Check", "Your variable is not an array - awww.") EndIf Thanks again guys! [center][/center][center]Xonos Development[font=trebuchet ms,helvetica,sans-serif]- Resources -[/font]AutoIT Documentation | Active Directory UDF | Windows Services UDF | Koda GUI Designer[/center]
water Posted August 9, 2012 Posted August 9, 2012 #include <Array.au3>is not needed to use function "IsArray". IsArray is part of AutoIt itself. Xonos 1 My UDFs and Tutorials: Spoiler UDFs: Active Directory (NEW 2024-07-28 - Version 1.6.3.0) - Download - General Help & Support - Example Scripts - Wiki ExcelChart (2017-07-21 - Version 0.4.0.1) - Download - General Help & Support - Example Scripts OutlookEX (2021-11-16 - Version 1.7.0.0) - Download - General Help & Support - Example Scripts - Wiki OutlookEX_GUI (2021-04-13 - Version 1.4.0.0) - Download Outlook Tools (2019-07-22 - Version 0.6.0.0) - Download - General Help & Support - Wiki PowerPoint (2021-08-31 - Version 1.5.0.0) - Download - General Help & Support - Example Scripts - Wiki Task Scheduler (2022-07-28 - Version 1.6.0.1) - Download - General Help & Support - Wiki Standard UDFs: Excel - Example Scripts - Wiki Word - Wiki Tutorials: ADO - Wiki WebDriver - Wiki
Xonos Posted August 9, 2012 Author Posted August 9, 2012 Gotcha! Thank you again for the quick replies and excellent service - without you guys, I'd have to write this all in Visual Studio. [center][/center][center]Xonos Development[font=trebuchet ms,helvetica,sans-serif]- Resources -[/font]AutoIT Documentation | Active Directory UDF | Windows Services UDF | Koda GUI Designer[/center]
water Posted August 9, 2012 Posted August 9, 2012 Glad we could help Xonos 1 My UDFs and Tutorials: Spoiler UDFs: Active Directory (NEW 2024-07-28 - Version 1.6.3.0) - Download - General Help & Support - Example Scripts - Wiki ExcelChart (2017-07-21 - Version 0.4.0.1) - Download - General Help & Support - Example Scripts OutlookEX (2021-11-16 - Version 1.7.0.0) - Download - General Help & Support - Example Scripts - Wiki OutlookEX_GUI (2021-04-13 - Version 1.4.0.0) - Download Outlook Tools (2019-07-22 - Version 0.6.0.0) - Download - General Help & Support - Wiki PowerPoint (2021-08-31 - Version 1.5.0.0) - Download - General Help & Support - Example Scripts - Wiki Task Scheduler (2022-07-28 - Version 1.6.0.1) - Download - General Help & Support - Wiki Standard UDFs: Excel - Example Scripts - Wiki Word - Wiki Tutorials: ADO - Wiki WebDriver - Wiki
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