C# 为什么我会得到一个“;指定的强制转换无效";?

C# 为什么我会得到一个“;指定的强制转换无效";?,c#,asp.net,sql,wpf,sqlite,C#,Asp.net,Sql,Wpf,Sqlite,下面是我从db表中选择一行并将其插入相应文本字段的代码: try { MessageBox.Show("page=" + GlobalVars.id); Query = "select Id,Description from SaleItemList where Id = '" + GlobalVars.id + "';"; cmd = new SQLiteCommand(Query, GlobalVars.conn); dr = cmd.E

下面是我从db表中选择一行并将其插入相应文本字段的代码:

try
{
    MessageBox.Show("page=" + GlobalVars.id);
    Query = "select Id,Description from SaleItemList where Id = '" + 
        GlobalVars.id + "';";

    cmd = new SQLiteCommand(Query, GlobalVars.conn);

    dr = cmd.ExecuteReader();

    if ((dr != null) && (dr.HasRows))
    {
        while (dr.Read())
        {
            txttitle.Text = dr.GetString(1);
        }
    }

    dr.Close();
    cmd.Dispose();
} 
catch (Exception ex)
{
    MessageBox.Show(ex.Message);
}
它会导致以下错误:

指定的强制转换无效`

在这一行:
txtitle.Text=dr.GetString(1)
txtitle.Text=dr.GetString(2)

我的数据库表是:

CREATE TABLE "SaleItemList"
(
   "Id" INTEGER PRIMARY KEY  NOT NULL  UNIQUE ,
   "Description" VARCHAR NOT NULL  UNIQUE
)

我做错了什么?

首先使用SQL参数。不要对SQL语句使用行内值-这是一个巨大的安全风险。如何打开/关闭连接?一个可能的原因是您没有正确管理
SQLiteConnection
对象。是的,实际问题是在打开/关闭连接中。感谢您的确认。