Я использую Sqlite с WPF. Я сталкиваюсь с проблемой, что не все строки отображаются в поисковом запросе. скажем, у меня есть 4 строки, как показано ниже:
SQLiteConnection m_dbConnection;
m_dbConnection = new SQLiteConnection("Data
Source=SGenDB.sqlite;Version=3;MultipleActiveResultSets=true;");
m_dbConnection.Open();
SQLiteCommand commandM = new SQLiteCommand(m_dbConnection);
// sqlM
commandM.CommandText = "select * from TModels where PID=@Pid";
commandM.Parameters.AddWithValue("@Pid", "bb18a0d3-9dd3-4f20-a182-b90f8b79fbc2");
SQLiteDataReader readerM = commandM.ExecuteReader();
readerM.Read();
while (readerM.Read())
{
//DataGrid Binding
DG_LoadProject.ItemsSource = readerM;
}
Запрос всегда возвращает только одну строку, первая строка всегда игнорируется. Я пробую использовать другой образец данных, который имеет 4 строки, а запрос вернул только 3.
Я создаю базу данных в приложении при первом запуске.





Удалите первый вызов строки readerM.Read (). Он читает первую строку, но ничего не делает с ней.
Итак, код должен быть:
SQLiteConnection m_dbConnection;
m_dbConnection = new SQLiteConnection("Data
Source=SGenDB.sqlite;Version=3;MultipleActiveResultSets=true;");
m_dbConnection.Open();
SQLiteCommand commandM = new SQLiteCommand(m_dbConnection);
// sqlM
commandM.CommandText = "select * from TModels where PID=@Pid";
commandM.Parameters.AddWithValue("@Pid", "bb18a0d3-9dd3-4f20-a182-b90f8b79fbc2");
SQLiteDataReader readerM = commandM.ExecuteReader();
while (readerM.Read())
{
//DataGrid Binding
DG_LoadProject.ItemsSource = readerM;
}