Exemplo n.º 1
0
    /// <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();
    }
Exemplo n.º 2
0
    /// <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();
    }
Exemplo n.º 3
0
    /// <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();
    }