2016-11-04 3 views
0

in Cache ich Sqlite Aussagen verwende diese Abrufen von Daten aus einer Datenbank wie:Wie Datagridview-Zeilen von SQLite-Datenbank

SQLiteConnection sqlConnection; 
SQLiteCommand sqlCMD; 
SQLiteDataReader sqlReader; 
sqlConnection = new SQLiteConnection("Data Source=newlist.db;Version=3;New=False;Compress=True;"); 
sqlCMD = sqlConnection.CreateCommand(); 
sqlCMD.CommandText = "SELECT * FROM table_name"; 
sqlReader = sqlCMD.ExecuteReader(); 
while (sqlReader.Read()) 
{ 
    //do stuff 
} 

So die ganze Sqlite-Tabelle in DataDridView (grid_list) Ich nehme die folgenden Anweisungen innerhalb verwenden zu laden sqlReader.Read() Schleife

grid_list.Rows.Add(); 
grid_list.Rows[index].Cells[0].Value = sqlReader.GetString(0); 
grid_list.Rows[index].Cells[1].Value = sqlReader.GetString(1); 
grid_list.Rows[index].Cells[2].Value = sqlReader.GetString(2); 

und es ergibt ich gewünschten Ausgang aber wenn es um große Dateien geht, wie etwa 100 MB oder höher, macht es die Benutzeroberfläche langsam, so wie kann ich diese Tabellen in Blöcken angezeigt werden, wie eine Quelle Code-Texteditor tut das (e g: erhabener Text 3).

So in Zusammenfassung: Wie aus der Datenbank ein Datagridview-Zeilen Chunk Chunk anzeigen, anstatt das Laden der gesamten Daten auf einmal in den Speicher bis

+0

Verwenden Sie [VirtualMode] (https://msdn.microsoft.com/en-us/library/system.windows.forms.datagridview.virtualmode (v = vs.110) .aspx). Siehe [hier] (https://msdn.microsoft.com/en-us/library/ms171621 (v = vs.110) .aspx). –

Antwort

0

ein Article gefunden, die perfekt beantwortet diese Frage in Bezug auf virtuellen Modus während SQLite Datenbank als Datenquelle, Dieser Artikel kommt mit einem Quellcode, der Ihnen in Teil

hilft Und ich habe eine andere article gefunden, die helfen wird, dieses Problem anzugehen.

+0

In diesem Artikel gibt es kein Wort über 'VirtualMode'. Obwohl dieser Ansatz auch anwendbar ist. –

+0

@AlexanderPetrov genau, warum ich es gewählt habe –