public override void parse(Mono.Data.Sqlite.SqliteDataReader reader) { if (mparse_0.CheckShouldInvokeBase(this.instance)) { base.parse(reader); } else { mparse_0.Invoke(this.instance, reader); } }
public override ChunkData Pull(ChunkDescriptor Chunk) { using (Mono.Data.Sqlite.SqliteCommand Comm = new Mono.Data.Sqlite.SqliteCommand("SELECT PATH FROM CHUNKS WHERE ID = @p0", Base)) { Comm.Parameters.AddWithValue("p0", Chunk.Hash); Mono.Data.Sqlite.SqliteDataReader DR = Comm.ExecuteReader(); if (DR.Read()) { return(new File(Chunk, this, DR.GetString(0))); } return(null); } }
private static byte[] ReadBytes(SQLiteDataReader reader, int fieldIndex) { const int CHUNK_SIZE = 2 * 1024; var buffer = new byte[CHUNK_SIZE]; long fieldOffset = 0; using (var stream = new MemoryStream()) { long bytesRead; while ((bytesRead = reader.GetBytes(fieldIndex, fieldOffset, buffer, 0, buffer.Length)) > 0) { stream.Write(buffer, 0, (int)bytesRead); fieldOffset += bytesRead; } return(stream.ToArray()); } }
//dbPathFile --> path file do banco de dados //tablename --> nome da tabela //resultCol --> coluna da tabela que sera retornada Ex."Nome" //refCol --> coluna de referencia para comparação Ex."Senha" //refData --> dado que sera comparado com a coluna de referencia Ex."123" public String dbGetCommand(String dbPathFile, String tableName, String resultCol, String refCol, String refData) { int i = 0; String resultModel = ""; String strQuery = "SELECT * FROM " + tableName; ArrayList readArray = new ArrayList(); try { Mono.Data.Sqlite.SqliteConnection connection = new Mono.Data.Sqlite.SqliteConnection("Data Source=" + dbPathFile); connection.Open(); Mono.Data.Sqlite.SqliteCommand dbcmd = connection.CreateCommand(); dbcmd.CommandText = strQuery; //SqliteDataReader rdr = cmd.ExecuteReader() Mono.Data.Sqlite.SqliteDataReader rdr = dbcmd.ExecuteReader(); while (rdr.Read()) { i++; //if(rdr[refCol].ToString() == refData){ // resultModel = rdr[resultCol].ToString(); //} if (rdr[refCol].ToString() == refData) { resultModel = rdr[resultCol].ToString(); } } connection.Close(); } catch (Exception ex) { showMessage("Erro ao executar SqliteDataReader: " + ex.Message); } return(resultModel); }
public static bool ExportMapDataToDB(string sourceFile, string destFile) { bool ret = true; try { if (!File.Exists(destFile)) { ret = CreateEmptyDB(destFile); } if (ret) { using (SQLiteConnection cn1 = new SQLiteConnection()) { #if !MONO cn1.ConnectionString = string.Format("Data Source=\"{0}\";Page Size=32768", sourceFile); #else cn1.ConnectionString = string.Format("Version=3,URI=file://{0},FailIfMissing=True,Page Size=32768", sourceFile); #endif cn1.Open(); if (cn1.State == System.Data.ConnectionState.Open) { using (SQLiteConnection cn2 = new SQLiteConnection()) { #if !MONO cn2.ConnectionString = string.Format("Data Source=\"{0}\";Page Size=32768", destFile); #else cn2.ConnectionString = string.Format("Version=3,URI=file://{0},FailIfMissing=True,Page Size=32768", destFile); #endif cn2.Open(); if (cn2.State == System.Data.ConnectionState.Open) { using (SQLiteCommand cmd = new SQLiteCommand(string.Format("ATTACH DATABASE \"{0}\" AS Source", sourceFile), cn2)) { cmd.ExecuteNonQuery(); } using (SQLiteTransaction tr = cn2.BeginTransaction()) { try { List <long> add = new List <long>(); using (SQLiteCommand cmd = new SQLiteCommand("SELECT id, X, Y, Zoom, Type FROM Tiles;", cn1)) { using (SQLiteDataReader rd = cmd.ExecuteReader()) { while (rd.Read()) { long id = rd.GetInt64(0); using (SQLiteCommand cmd2 = new SQLiteCommand(string.Format("SELECT id FROM Tiles WHERE X={0} AND Y={1} AND Zoom={2} AND Type={3};", rd.GetInt32(1), rd.GetInt32(2), rd.GetInt32(3), rd.GetInt32(4)), cn2)) { using (SQLiteDataReader rd2 = cmd2.ExecuteReader()) { if (!rd2.Read()) { add.Add(id); } } } } } } foreach (long id in add) { using (SQLiteCommand cmd = new SQLiteCommand(string.Format("INSERT INTO Tiles(X, Y, Zoom, Type, CacheTime) SELECT X, Y, Zoom, Type, CacheTime FROM Source.Tiles WHERE id={0}; INSERT INTO TilesData(id, Tile) Values((SELECT last_insert_rowid()), (SELECT Tile FROM Source.TilesData WHERE id={0}));", id), cn2)) { cmd.Transaction = tr; cmd.ExecuteNonQuery(); } } add.Clear(); tr.Commit(); } catch (Exception exx) { Debug.WriteLine("ExportMapDataToDB: " + exx.ToString()); tr.Rollback(); ret = false; } } using (SQLiteCommand cmd = new SQLiteCommand("DETACH DATABASE Source;", cn2)) { cmd.ExecuteNonQuery(); } } } } } } } catch (Exception ex) { Debug.WriteLine("ExportMapDataToDB: " + ex.ToString()); ret = false; } return(ret); }
private static byte[] ReadBytes(SQLiteDataReader reader, int fieldIndex) { const int CHUNK_SIZE = 2 * 1024; var buffer = new byte[CHUNK_SIZE]; long fieldOffset = 0; using (var stream = new MemoryStream()) { long bytesRead; while ((bytesRead = reader.GetBytes(fieldIndex, fieldOffset, buffer, 0, buffer.Length)) > 0) { stream.Write(buffer, 0, (int)bytesRead); fieldOffset += bytesRead; } return stream.ToArray(); } }
public SQLiteDataReader(Mono.Data.Sqlite.SqliteDataReader reader) { __reader = reader; }
public SqliteDataReader(Mono.Data.Sqlite.SqliteDataReader sqliteDataReader) { this.sqliteDataReader = sqliteDataReader; }
public void Execute() => Reader = Command.ExecuteReader();