static private Bind ( SQLitePCL.sqlite3 db, SQLitePCL.sqlite3_stmt stm, int index, object value ) : void | ||
db | SQLitePCL.sqlite3 | |
stm | SQLitePCL.sqlite3_stmt | |
index | int | |
value | object | |
Результат | void |
/// <summary> /// Executes a sql statement on a given table in local SQLite database. /// </summary> /// <param name="table">The table definition.</param> /// <param name="sql">The SQL query to execute.</param> /// <param name="parameters">The query parameters.</param> /// <returns>The result of query.</returns> protected virtual IList <JObject> ExecuteQueryInternal(TableDefinition table, string sql, IDictionary <string, object> parameters) { table = table ?? new TableDefinition(); parameters = parameters ?? new Dictionary <string, object>(); var rows = new List <JObject>(); sqlite3_stmt statement = SQLitePCLRawHelpers.GetSqliteStatement(sql, connection); using (statement) { foreach (KeyValuePair <string, object> parameter in parameters) { var index = raw.sqlite3_bind_parameter_index(statement, parameter.Key); SQLitePCLRawHelpers.Bind(connection, statement, index, parameter.Value); } int rc; while ((rc = raw.sqlite3_step(statement)) == raw.SQLITE_ROW) { var row = ReadRow(table, statement); rows.Add(row); } SQLitePCLRawHelpers.VerifySQLiteResponse(rc, raw.SQLITE_DONE, connection); } return(rows); }
/// <summary> /// Executes a sql statement on a given table in local SQLite database. /// </summary> /// <param name="sql">The SQL statement to execute.</param> /// <param name="parameters">The query parameters.</param> protected virtual void ExecuteNonQueryInternal(string sql, IDictionary <string, object> parameters) { parameters = parameters ?? new Dictionary <string, object>(); int rc = raw.sqlite3_prepare_v2(connection, sql, out sqlite3_stmt stmt); SQLitePCLRawHelpers.VerifySQLiteResponse(rc, raw.SQLITE_OK, connection); using (stmt) { foreach (KeyValuePair <string, object> parameter in parameters) { var index = raw.sqlite3_bind_parameter_index(stmt, parameter.Key); SQLitePCLRawHelpers.Bind(connection, stmt, index, parameter.Value); } int result = raw.sqlite3_step(stmt); SQLitePCLRawHelpers.VerifySQLiteResponse(result, raw.SQLITE_DONE, connection); } }