Exemple #1
0
        public static int sqlite3_exec(Sqlite3Handle pDb, string sql)
        {
            var zSql = MarshalEx.StringToHGlobalUTF8(sql);

            try
            {
                IntPtr tmp;
                return(Sqlite3.exec(pDb, zSql, IntPtr.Zero, IntPtr.Zero, out tmp));
            } finally {
                if (zSql != IntPtr.Zero)
                {
                    Marshal.FreeHGlobal(zSql);
                }
            }
        }
Exemple #2
0
        public static int sqlite3_bind_parameter_index(Sqlite3StmtHandle pStmt, string zName)
        {
            var ptr = MarshalEx.StringToHGlobalUTF8(zName);

            try
            {
                return(Sqlite3.bind_parameter_index(pStmt, ptr));
            }
            finally
            {
                if (ptr != IntPtr.Zero)
                {
                    Marshal.FreeHGlobal(ptr);
                }
            }
        }
Exemple #3
0
        public static string sqlite3_db_filename(Sqlite3Handle db, string zDbName)
        {
            var ptr = MarshalEx.StringToHGlobalUTF8(zDbName);

            try
            {
                return(MarshalEx.PtrToStringUTF8(Sqlite3.db_filename(db, ptr)));
            }
            finally
            {
                if (ptr != IntPtr.Zero)
                {
                    Marshal.FreeHGlobal(ptr);
                }
            }
        }
Exemple #4
0
        public static int sqlite3_bind_text(Sqlite3StmtHandle pStmt, int i, string data, int n, IntPtr xDel)
        {
            var zData = MarshalEx.StringToHGlobalUTF8(data);

            try
            {
                return(sqlite3_bind_text(pStmt, i, zData, n, xDel));
            }
            finally
            {
                if (zData != IntPtr.Zero)
                {
                    Marshal.FreeHGlobal(zData);
                }
            }
        }
Exemple #5
0
        public static int sqlite3_prepare_v2(Sqlite3Handle db, string zSql, out Sqlite3StmtHandle ppStmt, out string pzTail)
        {
            int nByte;
            var zSqlPtr = MarshalEx.StringToHGlobalUTF8(zSql, out nByte);

            try
            {
                IntPtr pzTailPtr;
                var    rc = Sqlite3.prepare_v2(db, zSqlPtr, nByte, out ppStmt, out pzTailPtr);
                pzTail = MarshalEx.PtrToStringUTF8(pzTailPtr);

                return(rc);
            }
            finally
            {
                Marshal.FreeHGlobal(zSqlPtr);
            }
        }
Exemple #6
0
        public static int sqlite3_open_v2(string filename, out Sqlite3Handle ppDb, int flags, string vfs)
        {
            var zFilename = MarshalEx.StringToHGlobalUTF8(filename);
            var zVfs      = string.IsNullOrEmpty(vfs) ? IntPtr.Zero : MarshalEx.StringToHGlobalUTF8(vfs);

            try
            {
                return(Sqlite3.open_v2(zFilename, out ppDb, flags, zVfs));
            }
            finally
            {
                if (zFilename != IntPtr.Zero)
                {
                    Marshal.FreeHGlobal(zFilename);
                }
                if (zVfs != IntPtr.Zero)
                {
                    Marshal.FreeHGlobal(zVfs);
                }
            }
        }
Exemple #7
0
        public static int sqlite3_blob_open(Sqlite3Handle pDb, string db, string table, string column, long iRow,
                                            int flags, out Sqlite3BlobHandle ppBlob)
        {
            var zDb     = MarshalEx.StringToHGlobalUTF8(db);
            var zTable  = MarshalEx.StringToHGlobalUTF8(table);
            var zColumn = MarshalEx.StringToHGlobalUTF8(column);

            try {
                return(Sqlite3.blob_open(pDb, zDb, zTable, zColumn, iRow, flags, out ppBlob));
            } finally {
                if (zDb != IntPtr.Zero)
                {
                    Marshal.FreeHGlobal(zDb);
                }
                if (zTable != IntPtr.Zero)
                {
                    Marshal.FreeHGlobal(zTable);
                }
                if (zColumn != IntPtr.Zero)
                {
                    Marshal.FreeHGlobal(zColumn);
                }
            }
        }