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); } } }
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); } } }
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); } } }
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); } } }
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); } }
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); } } }
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); } } }