Class Reference
%Library.ResultSet
|
|
![]() |
|||
Private Storage |
Cache Dynamic SQL is the preferred mechanism for preparing and executing dynamic
SQL statements. Please refer to
The
You can use a
Note you can bind a
; Display the results of the Person class' ByName query to the console. set rs=##class(%ResultSet).%New() set rs.ClassName="Sample.Person" set rs.QueryName="ByName" ; Alternatively, you can bind the result set object to a query ; set rs=##class(%ResultSet).%New("Sample.Person:ByName") set sc=rs.Execute("a") If $$$ISERR(sc) Do DisplayError^%apiOBJ(sc) Quit while rs.%Next() { do rs.%Print() }
Set result=##class(%ResultSet).%New("%DynamicQuery:SQL") Set sc=result.Prepare("SELECT %ID, Name, Salary FROM Sample.Employee WHERE Salary > ?") If $$$ISERR(sc) Do DisplayError^%apiOBJ(sc) Quit Set sc=result.Execute(10000) If $$$ISERR(sc) Do DisplayError^%apiOBJ(sc) Quit While result.Next(.sc) { If $$$ISERR(sc) Quit Write result.Data("Name"),result.Data("Salary"),! } If $$$ISERR(sc) Do DisplayError^%apiOBJ(sc) Quit
|
|
Properties | |||
---|---|---|---|
%Message | %Metadata | %PrivateTables | %ROWCOUNT |
%ROWID | %ResultColumnCount | %SQLCODE | ClassName |
Data | QueryName | RuntimeMode |
Subclasses | ||
---|---|---|
%Library.ScrollableResultSet | %TSQL.ResultSet | %XML.DataSet |
%ZEN.Report.ResultSet |
|
xDBC metadata - for compatibility with new cached result sets.
The name of the class containing the query to run.
Used to store the data returned from the resultset by column name. This can be accessed directly for better performance than theGet andGetDataByName methods. For example:Note that because this 'Data' property is multidimensional, if there is no such column name as 'Salary' you will get an UNDEFINED error without the $get around it. If there are two columns with the same name in the result set then the second one will be the one referenced by the 'Data' property. If you need to refer to both of them, use the; This slower code While result.Next() { Write result.Get("Name"),result.Get("Salary"),! } ; Becomes this faster code While result.Next() { Write $get(result.Data("Name")),$get(result.Data("Salary")),! }GetData and give the position of the column you want.
The name of the query to run.
Use this property to set the SQL runtime mode for the query to be executed. Setting the runtime mode for this ResultSet does not permanently change the $zu(115,5) value. Possible values mode are:
- 0 for LOGICAL mode.
- 1 for ODBC mode.
- 2 for DISPLAY mode.
- "" to use the process wide $zu(115,5) value.
|
alias for new result set interface
Is used to get the value of an unknown property.
alias for new result set interface
Returns the value of the column with the name name in the current row of the result set.If name is not a valid column name, this method returns an empty string.
alias for new result set interface
This is a Get accessor method for the%Metadata property.
alias for new result set interface
%PrepareMetaData is similar to %Prepare except that no result set is instantiated. This method returns a %ResultSet.MetaData object. Be aware that the implementation of this method might cause the result set to be instantiated but that is up to the result set class itself and no result set is actually returned by this method - only metadata. queryId This can be the concrete subclass of %IResultSet that implements the desired query. For dynamic cached results this value is generally the query text that can be parsed, a hashed value computed and the cached result implementation class looked up in the query cache index.can also be a or . If it is a then the result set returned is an instance of %Library.ResultSet that is bound to that query. If it is the name of a method Then that method is called, passing %args... to the method, and the first result set found in the context object (%sqlcontext) is returned. returnError If an error occurs this is returned by reference and is a %SYSTEM.Error object with properties set to describe information about the error. %returnError.Status contains the %Status value. importPackages This is a comma delimited list of packages to import. This is only relevant if the result set implementation is generated and the query source might include unqualified names. The import packages list is used to resolve package/schema names for unqualified names.
This is a Get accessor method for the%ResultColumnCount property.
Fetch and send a series of rows for continuous query client. For internal use only.
Fetch and send a series of rows for the ODBC/JDBC server. For internal use only.
This is a Set accessor method for theClassName property.
Closes the current result set cursor.
If the current query contains an object Id (based on the CONTAINSID parameter being set), return the column position of the object Id. Otherwise return 0.
Executes the current query.The arguments p1... supply the value of any parameters the query may have.
This method sets the
%SQLCODE property if an error is reported. The value of%SQLCODE is computed from the status value and is not set to the value of the public SQLCODE variable. The%Message ,%ROWCOUNT and%ROWID properties are set to the values of the SQL public variables %msg, %ROWCOUNT and %ROWID. If those public variables were not set by the query's Execute method and those variables were defined prior to calling Execute then the properties will contain the prior values of those variables. It is the caller's responsibility to initialize and manage these public variables.
Returns the value of the column with the name name in the current row of the result set.If name is not a valid column name, this method returns an empty string.
Using theData multidimensional property to access the fields is faster than using this method call.
Returns the number of columns in the result set.
This method accepts the column number as an input parameter and will return a $list containing the class name and property name of the property corresponding to the column in the query. If the column is not based on a property then the returned information will be an empty $list.
Returns the column header for column n in the result set.
Returns the name of column n in the result set.
Returns the type of column n in the result set where type is an integer associated with the client datatype. If the type cannot be determined, 0 (zero) is returned.
1 BINARY 2 DATE 3 DOUBLE 4 HANDLE 5 INTEGER 6 LIST 7 LONGVARCHAR 8 TIME 9 TIMESTAMP 10 VARCHAR 11 STATUS 12 BINARYSTREAM 13 CHARACTERSTREAM 14 NUMERIC 15 CURRENCY 16 BOOLEAN 17 OID 18 BIGINT 19 FDATE 20 FTIMESTAMP
Returns the value of column n in the current row of the result set.
Returns the value of the column with the name name in the current row of the result set.If name is not a valid column name, this method returns an empty string.
Note: this method has been superceded by the equivalent
Get method.
The name of the extent that this query will return Id values from (based on the EXTENT parameter being set). Only returns a value if the query contains Id values.
If this query contains an object Id then this method opens an object with this Id and returns the object reference. Otherwise it returns a null object reference.
Returns the number of input parameters for the current query.
Returns the name of input parameter n for the current query.
Returns the SQL statement type of the query if available. Statement type numbers are defined as:
Type Statement 1 SELECT 2 INSERT 3 UPDATE 4 DELETE 5 COMMIT 6 ROLLBACK 7 GRANT 8 REVOKE 9 CREATE TABLE 10 ALTER TABLE 11 DROP TABLE 12 CREATE VIEW 13 ALTER VIEW 14 DROP VIEW 15 CREATE INDEX 16 ALTER INDEX 17 DROP INDEX 18 CREATE ROLL 19 DROP ROLL 20 SET TRANSACTION 21 START TRANSACTION 22 %IN_TRANSACTION 23 %BEGTRANS 24 %INTRANS 25 GET 26 SET OPTION 27 STATISTICS 28 %CHECKPRIV 29 CREATE USER 30 ALTER USER 31 DROP USER 32 %CHECKPRIV 33 GRANT 34 REVOKE 35 CREATE FUNCTION 36 CREATE METHOD 37 CREATE PROCEDURE 38 CREATE QUERY 39 DROP FUNCTION 40 DROP METHOD 41 DROP PROCEDURE 42 DROP QUERY 43 CREATE TRIGGER 44 DROP TRIGGER 45 SAVEPOINT
Advance the result set cursor to the next row. Returns 0 if the cursor is at the end of the result set.
Use this method with dynamic queries to provide the query to be executed. In the case of the%DynamicQuery:SQL query, p1 is a string containing an SQL query. The query may contain parameters represented by ? characters within the query. The values of any parameters are supplied via theExecute method. For example:Set result=##class(%ResultSet).%New("%DynamicQuery:SQL") Do result.Prepare("SELECT Name,City FROM Person WHERE Name %STARTSWITH ? AND City = ?") Do result.Execute("A","Boston") While result.Next() { Write result.Data("Name"),result.Data("City"),! }
Returns true (1) if the ClassName and QueryName properties of this%ResultSet object refer to a valid class query. Otherwise it returns false (0).
This is a diagnostic function; it runs the specified query and prints the output to the console.
This is a Get accessor method for theRuntimeMode property.
This is a Set accessor method for theRuntimeMode property.
Set the location of the ID in this query and the extent. The idnumber is the column number of the ID and the extent is the class name the id is from. Note, you must call this after the Execute method is called or the data will be overwritten.
This method is deprecated; use RunQuery.