C# 为什么我会得到一个“;指定的强制转换无效";?
下面是我从db表中选择一行并将其插入相应文本字段的代码: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
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
对象。是的,实际问题是在打开/关闭连接中。感谢您的确认。