wpf - Sq-lite查询不会从数据库中获取所有行

标签 wpf sqlite

我在WPF中使用Sqlite。
我遇到一个问题,不是所有行都显示在搜索查询中。
假设我有4行,如下所示:

enter image description here

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;

    }

关于wpf - Sq-lite查询不会从数据库中获取所有行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53499232/

相关文章:

c# - 如何使用 ElementFlow?

wpf - 什么版本的 Blend 支持 WPF 4.5,可移植类库?

iphone - 如何从经度/纬度获取附近的位置?

iphone - 使用撇号安全地将数据插入 SQLite 数据库

python - 使用 sqlite3 编译 Python 3.4

c# - 如何更改列标题文本大小

.net - WPF 托管 WinForm、选项卡导航问题

c# - 在 UserControl WPF 的视口(viewport)中使用 VisualBrush

iphone - 如何打印存储在 iphone 上的所有 sqlite 数据库

java - 在树莓派上使用带有 Java 的 sqlite