private bool execute(string query, CallbackContext callbackContext, params object[] parms) { try { if (query.ToLower().StartsWith("select")) { SQLiteCommand command = DbConnection.CreateCommand(query, parms); List <Activity> results = command.ExecuteQuery <Activity>(); JObject jsonObject = new JObject(); JArray jsonArray = new JArray(); foreach (Activity result in results) { JObject rowResult = new JObject(); rowResult.Add("id", new JValue(result.id)); rowResult.Add("type", new JValue(result.type)); rowResult.Add("dt", new JValue(result.dt)); rowResult.Add("gps_data", new JValue(result.gps_data)); jsonArray.Add(rowResult); } jsonObject.Add("rows", jsonArray); callbackContext.success(jsonObject); } else { SQLiteCommand sql = DbConnection.CreateCommand(query); if (parms.Length == 1 && parms is object[]) { var insertParams = (object[])parms[0]; for (int i = 0; i < insertParams.Length; i++) { sql.Bind(insertParams[i]); } } int rows = sql.ExecuteNonQuery(); callbackContext.success(); } } catch (Exception ex) { callbackContext.error(ex.Message); return(false); } return(true); }
public void openDatabase(String dbname, string assetFilePath, int openFlags, CallbackContext cbc) { if (DbConnection == null) { cbc.error("Could not open database."); } else { cbc.success(); } }