コード例 #1
0
ファイル: DBMapper.cs プロジェクト: x4maT/unity-orm
        /// <summary>
        /// Delete all record then insert.
        ///
        /// </summary>
        /// <param name='objects'>
        /// Objects.
        /// </param>
        /// <typeparam name='T'>
        /// The 1st type parameter.
        /// </typeparam>
        public void ReplaceAll <T>(T[] objects)
        {
            var    desc   = Registory.GetClassDesc <T>();
            string delete = SQLMaker.GenerateDeleteAllSQL <T>(desc);

            database.ExecuteNonQuery(delete);

            foreach (T obj in objects)
            {
                string insert = SQLMaker.GenerateInsertSQL(desc, obj);
                database.ExecuteNonQuery(insert);
            }
        }
コード例 #2
0
        public void InsertAll <T>(T[] objects)
        {
            var desc = Registory.GetClassDesc <T>();

            foreach (T obj in objects)
            {
                string insert = SQLMaker.GenerateInsertSQL(desc, obj);
                database.ExecuteNonQuery(insert);
            }
        }
コード例 #3
0
        public void UpdateOrInsert <T>(T obj)
        {
            var    desc      = Registory.GetClassDesc <T>();
            string queryData = SQLMaker.GenerateSelectSQL <T> (desc, obj);

            try{
                DataTable queryResult = database.ExecuteQuery(queryData);

                if (queryResult.Rows.Count > 0)
                {
                    // Debug.Log(":: Update Data");
                    string update = SQLMaker.GenerateUpdateSQL(desc, obj);
                    database.ExecuteNonQuery(update);
                }
                else
                {
                    // Debug.Log(":: Insert Data");
                    string insert = SQLMaker.GenerateInsertSQL(desc, obj);
                    database.ExecuteNonQuery(insert);
                }
            }catch (SqliteException e) {
                Debug.Log("Fail! err: " + e.ErrorCode + " - " + e.Message);
            }
        }