/// <summary> /// Issued delete SQL statement /// デリートSQL文発行。 /// </summary> /// <param name="component"></param> public void Delete(object component) { if (ChkDeleteImpossible(component.GetType())) { return; } SqliteDatabase sqliteDataBase = new SqliteDatabase(CONNECT_TABLE); sqliteDataBase.TransactionStart(); try { this.CreateDeleteSql(component); sqliteDataBase.ExecuteNonQueryEx(this.ExecutetSql.ToString()); } catch (SqliteException ex) { Debug.Log(ex.Message + " " + this.ExecutetSql.ToString()); sqliteDataBase.TransactionRollBack(); } finally { this.Init(component.GetType()); } sqliteDataBase.TransactionCommit(); }
/// <summary> /// Updates SQL issue /// アップデートSQL発行 /// </summary> public void UpdateSql(object component) { SqliteDatabase sqliteDataBase = new SqliteDatabase(CONNECT_TABLE); // TransactionStart // トランザクション開始 sqliteDataBase.TransactionStart(); try { this.CreateUpdateSql(component); sqliteDataBase.ExecuteNonQueryEx(this.ExecutetSql.ToString()); } catch (SqliteException ex) { Debug.Log(ex.Message + " " + this.ExecutetSql.ToString()); // TransactionRollBack // ロールバック sqliteDataBase.TransactionRollBack(); } finally { this.Init(component.GetType()); } // TransactionCommit // コミット sqliteDataBase.TransactionCommit(); }
/// <summary> /// Multiple issue a delete SQL. Primary key No other than the specified . /// デリートSQLを複数発行。プライマリキー指定以外不可。 /// </summary> /// <typeparam name="T"></typeparam> /// <param name="componentList"></param> public void DeleteMulti <T>(List <T> componentList) { if (ChkDeleteImpossible(typeof(T))) { return; } SqliteDatabase sqliteDataBase = new SqliteDatabase(CONNECT_TABLE); // トランザクション開始 // TransactionStart sqliteDataBase.TransactionStart(); this.WhereSql = new StringBuilder(); try { foreach (object component in componentList) { try { this.CreateDeleteSql(component); sqliteDataBase.ExecuteNonQueryEx(this.ExecutetSql.ToString()); this.Init(component.GetType()); } catch (SqliteException ex) { Debug.LogError(ex.Message); break; } } } catch (SqliteException ex) { Debug.Log(ex.Message + " " + this.ExecutetSql.ToString()); // ロールバック // TransactionRollBack sqliteDataBase.TransactionRollBack(); } finally { this.Init(componentList[0].GetType()); } // コミット // TransactionCommit sqliteDataBase.TransactionCommit(); }