Stream.DataSets

Stream.DataSets.Databases

List<string> Databases(string connectionName)


Lists database names for a connection (SQLite .db files; the connected DB for SQL Server/PostgreSQL).


Parameters

Parameter

Description

connectionName

configured DataSet connection


Returns

List<string>


Example

var result = Stream.DataSets.Databases("connectionName");




Stream.DataSets.Delete

int Delete(string connectionName, string databaseName, string dataSetName, string whereClause)


Deletes records matching the WhereClause. Returns rows affected.


Parameters

Parameter

Description


connectionName, databaseName, dataSetName

whereClause

required SQL WHERE expression


Returns

int


Example

var result = Stream.DataSets.Delete("connectionName", "databaseName", "dataSetName", "whereClause");




Stream.DataSets.Insert

int Insert(string connectionName, string databaseName, string dataSetName, object record)


Inserts a single record. Returns rows affected.


Parameters

Parameter

Description


connectionName, databaseName, dataSetName

record

dictionary or object of column -> value (e.g. new { Status = "Open" })


Returns

int


Example

var result = Stream.DataSets.Insert("connectionName", "databaseName", "dataSetName", null);




Stream.DataSets.InsertBatch

int InsertBatch(string connectionName, string databaseName, string dataSetName, IEnumerable<object> records)


Inserts multiple records in one transaction. Returns rows affected.


Parameters

Parameter

Description


connectionName, databaseName, dataSetName

records

list of dictionaries/objects


Returns

int


Example

var result = Stream.DataSets.InsertBatch("connectionName", "databaseName", "dataSetName", null);




Stream.DataSets.Query

List<Dictionary<string, object>> Query(string connectionName, string databaseName, string dataSetName, string whereClause = "", string orderBy = "", int limit = 1000)


Queries rows from a table. Returns a list of dictionaries (column name -> value).


Parameters

Parameter

Description

connectionName

configured DataSet connection

databaseName

SQLite file name (ignored for SQL Server/PostgreSQL)

dataSetName

table name

whereClause

optional SQL WHERE expression

orderBy

optional SQL ORDER BY expression

limit

max rows (default 1000)


Returns

List<Dictionary<string, object>>


Example

var result = Stream.DataSets.Query("connectionName", "databaseName", "dataSetName");




Stream.DataSets.RawQuery

List<Dictionary<string, object>> RawQuery(string connectionName, string databaseName, string sql, int limit = 1000)


Executes a raw SELECT statement. Returns a list of dictionaries.


Parameters

Parameter

Description

connectionName

configured DataSet connection

databaseName

SQLite file name (ignored for SQL Server/PostgreSQL)

sql

a SELECT statement (writes are blocked)

limit

max rows (default 1000)


Returns

List<Dictionary<string, object>>


Example

var result = Stream.DataSets.RawQuery("connectionName", "databaseName", "sql");




Stream.DataSets.Tables

List<string> Tables(string connectionName, string databaseName = "")


Lists table names. Optionally filtered to a single database.


Parameters

Parameter

Description

connectionName

configured DataSet connection

databaseName

optional SQLite file filter


Returns

List<string>


Example

var result = Stream.DataSets.Tables("connectionName");




Stream.DataSets.Update

int Update(string connectionName, string databaseName, string dataSetName, string whereClause, object record)


Updates records matching the WhereClause. Returns rows affected.


Parameters

Parameter

Description


connectionName, databaseName, dataSetName

whereClause

required SQL WHERE expression

record

dictionary or object of columns to set


Returns

int


Example

var result = Stream.DataSets.Update("connectionName", "databaseName", "dataSetName", "whereClause", null);




Stream.DataSets.Upsert

int Upsert(string connectionName, string databaseName, string dataSetName, IEnumerable<string> keyColumns, object record)


Inserts a record, or updates it if a row with the same key columns exists. Returns rows affected.


Parameters

Parameter

Description


connectionName, databaseName, dataSetName

keyColumns

column names that identify an existing row (must be primary key or unique)

record

dictionary or object of column -> value (must include the key columns)


Returns

int


Example

var result = Stream.DataSets.Upsert("connectionName", "databaseName", "dataSetName", null, null);