Skip to main content

Class: MultipleResultsReader<TOut>

Defined in: src/procedure/MultipleResultsReader.ts:17

Forward-only reader for stored procedures that return multiple tabular result sets (tables). Modeled after Dapper's GridReader and ADO.NET SqlDataReader.NextResult().

Usecase​

Sequentially consume multiple result tables returned by a single stored procedure execution.

Example​

const reader = await context.procedure('usp_GetCustomerDashboard')
.input({ CustomerId: 101 })
.reader();

const customer = reader.readFirst<Customer>(); // First row of Table 1
const orders = reader.read<Order>(); // All rows of Table 2
const stats = reader.read<Stat>(); // All rows of Table 3

Type Parameters​

Type ParameterDefault type
TOutRecord<string, unknown>

Accessors​

tableCount​

Get Signature​

get tableCount(): number

Defined in: src/procedure/MultipleResultsReader.ts:65

Total number of tables / result sets returned by the procedure.

Returns​

number


hasMore​

Get Signature​

get hasMore(): boolean

Defined in: src/procedure/MultipleResultsReader.ts:72

True if there are more unread tables remaining.

Returns​

boolean


position​

Get Signature​

get position(): number

Defined in: src/procedure/MultipleResultsReader.ts:79

The 0-based index of the table that will be read on the next .read() call.

Returns​

number

Constructors​

Constructor​

new MultipleResultsReader<TOut>(resultSets, outputParams?, returnValue?, rowsAffected?): MultipleResultsReader<TOut>

Defined in: src/procedure/MultipleResultsReader.ts:20

Parameters​

ParameterTypeDefault value
resultSetsunknown[][]undefined
outputParamsTOut...
returnValuenumber0
rowsAffectednumber0

Returns​

MultipleResultsReader<TOut>

Methods​

read()​

read<T>(): T[]

Defined in: src/procedure/MultipleResultsReader.ts:34

Reads the next table / record set as typed records. If no more tables exist, returns an empty array [].

Type Parameters​

Type ParameterDefault typeDescription
TunknownType representing each row in this table.

Returns​

T[]

Array of typed rows from the current result table.


readFirst()​

readFirst<T>(): T | null

Defined in: src/procedure/MultipleResultsReader.ts:48

Reads a single record (the first row) from the next table, or returns null if the table is empty.

Type Parameters​

Type ParameterDefault typeDescription
TunknownType representing the record.

Returns​

T | null

The first matching record or null.


readAll()​

readAll<T>(): T

Defined in: src/procedure/MultipleResultsReader.ts:58

Returns all returned tables as a tuple or array of arrays without consuming the reader.

Type Parameters​

Type ParameterDefault typeDescription
T extends unknown[]unknown[]Tuple of table arrays, e.g. [Customer[], Order[], Stat[]].

Returns​

T

Properties​

outputParams​

readonly outputParams: TOut

Defined in: src/procedure/MultipleResultsReader.ts:22


returnValue​

readonly returnValue: number = 0

Defined in: src/procedure/MultipleResultsReader.ts:23


rowsAffected​

readonly rowsAffected: number = 0

Defined in: src/procedure/MultipleResultsReader.ts:24