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); } } }
public static string sqlite3_bind_parameter_name(Sqlite3StmtHandle stmt, int i) => MarshalEx.PtrToStringUTF8(Sqlite3.bind_parameter_name(stmt, i));
public static string sqlite3_libversion() => MarshalEx.PtrToStringUTF8(Sqlite3.libversion());
public static string sqlite3_errstr(int rc) => MarshalEx.PtrToStringUTF8(Sqlite3.errstr(rc));
public static string sqlite3_errmsg(Sqlite3Handle db) => MarshalEx.PtrToStringUTF8(Sqlite3.errmsg(db));
public static string sqlite3_column_text(Sqlite3StmtHandle stmt, int iCol) => MarshalEx.PtrToStringUTF8(Sqlite3.column_text(stmt, iCol));
public static string sqlite3_column_name(Sqlite3StmtHandle stmt, int iCol) => MarshalEx.PtrToStringUTF8(sqlite3_column_name_raw(stmt, iCol));