Esempio n. 1
0
        void RunStatement(string statement)
        {
            IntPtr stmt   = SQLite3.Prepare2(db, statement);
            var    result = SQLite3.Step(stmt);

            SQLite3.CheckResult(db, result);
            SQLite3.Finalize(stmt);
        }
Esempio n. 2
0
 private void BindConditions(IntPtr stmt)
 {
     foreach (var cond in conditions)
     {
         int paramIndex = SQLite3.BindParameterIndex(stmt, cond.Key);
         var bindresult = SQLite3.GetBindFunc(SQLite3.GetSQLType(cond.Value.GetType()))(stmt, paramIndex, cond.Value);
         SQLite3.CheckResult(db, bindresult);
     }
 }
Esempio n. 3
0
        public void CreateTable <T>(string name)
        {
            var fis             = typeof(T).GetFields();
            var fieldList       = ArrayUtils.ConvertAll(fis, x => x.Name + " " + SQLite3.GetSQLType(x.FieldType));
            var stringFieldList = string.Join(", ", fieldList);

            IntPtr stmt   = SQLite3.Prepare2(db, "CREATE TABLE IF NOT EXISTS " + name + " (rowid INTEGER PRIMARY KEY AUTOINCREMENT, " + stringFieldList + ") ");
            var    result = SQLite3.Step(stmt);

            SQLite3.CheckResult(db, result);
            SQLite3.Finalize(stmt);
        }
Esempio n. 4
0
        public void Insert <T>(string table, T values)
        {
            var fis       = typeof(T).GetFields();
            var fieldList = ArrayUtils.ConvertAll(fis, x => x.Name);
            var valueList = ArrayUtils.ConvertAll(fis, x => "@" + x.Name);

            string SQL  = "INSERT INTO " + table + " (" + string.Join(", ", fieldList) + ") VALUES ( " + string.Join(", ", valueList) + " )";
            IntPtr stmt = SQLite3.Prepare2(db, SQL);

            foreach (var fi in fis)
            {
                int paramIndex = SQLite3.BindParameterIndex(stmt, "@" + fi.Name);
                var bindresult = SQLite3.GetBindFunc(SQLite3.GetSQLType(fi.FieldType))(stmt, paramIndex, fi.GetValue(values));
                SQLite3.CheckResult(db, bindresult);
            }
            var stepresult = SQLite3.Step(stmt);

            SQLite3.CheckResult(db, stepresult);
            SQLite3.Finalize(stmt);
        }
Esempio n. 5
0
        public SQLiteConnection(string conn)
        {
            var result = SQLite3.Open(conn, out db, SQLiteFlags.SQLITE_OPEN_CREATE | SQLiteFlags.SQLITE_OPEN_READWRITE, IntPtr.Zero);

            SQLite3.CheckResult(db, result);
        }