Jewtus Posted June 18, 2014 Posted June 18, 2014 I'm running the following code $sqlRs = ObjCreate("ADODB.Recordset") $sqlRs.open ($SQLQUERY,$SqlConn) $aOptionValue = $sqlRs.Fields ($fieldname).Value and it returns the value I'm looking for, but the problem is, there should be two different values. I was expecting an array as a result, but I'm clearly missing something. Anyone have suggestions?
Zedna Posted June 18, 2014 Posted June 18, 2014 (edited) If you want to get more than one column from select then you can use this: $aOptionValue1 = $sqlRs.Fields (0).Value $aOptionValue2 = $sqlRs.Fields (1).Value Edited June 18, 2014 by Zedna Resources UDF ResourcesEx UDF AutoIt Forum Search
Danp2 Posted June 18, 2014 Posted June 18, 2014 Are you expecting the query to return multiple records? It isn't possible to tell from the limited information you posted. If so, then you need to use $sqlRs..MoveNext to access the subsequent records. Latest Webdriver UDF Release Webdriver Wiki FAQs
Solution Zedna Posted June 18, 2014 Solution Posted June 18, 2014 (edited) I'm running the following code $sqlRs = ObjCreate("ADODB.Recordset") $sqlRs.open ($SQLQUERY,$SqlConn) $aOptionValue = $sqlRs.Fields ($fieldname).Value and it returns the value I'm looking for, but the problem is, there should be two different values. I was expecting an array as a result, but I'm clearly missing something. Anyone have suggestions? If you need to get more rows then do it like this: $sqlRs = ObjCreate("ADODB.Recordset") $sqlRs.open ($SQLQUERY,$SqlConn) While Not $sqlRs.EOF $aOptionValue = $sqlRs.Fields ($fieldname).Value ConsoleWrite($aOptionValue & @CRLF) $sqlRs.MoveNext WEnd Edited June 18, 2014 by Zedna Jewtus 1 Resources UDF ResourcesEx UDF AutoIt Forum Search
GaRydelaMer Posted June 18, 2014 Posted June 18, 2014 Hi all you can use a method of recordset object to get an array from it take a look here: http://www.w3schools.com/ado/met_rs_getrows.asp $aReturn = $sqlRs.GetRows([$NumRows, [$Start, [$aFields]]]) for complete reading use this Local $aReturn = $sqlRs.GetRows() _ArrayDisplay($aReturn) $sqlRs.MoveFirst While Not $sqlRs.EOF ConsoleWrite("Row " & $sqlRs.AbsolutePosition & @LF) ;; Method 1 ConsoleWrite(@TAB & "Method 1" & @LF) For $Field In $sqlRs.Fields ConsoleWrite(@TAB & $Field.Name & " = " & $Field.Value & @LF) Next ;; Method 2 ConsoleWrite(@LF & @TAB & "Method 2" & @LF) For $i = 0 To $sqlRs.Fields.Count - 1 ConsoleWrite(@TAB & $sqlRs.Fields($i).Name & " = " & $sqlRs.Fields($i).Value & @LF) Next $sqlRs.MoveNext WEnd
water Posted June 18, 2014 Posted June 18, 2014 BTW: A good tutorial about ADO and AutoIt can be found here. Jewtus 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