我为我的PDA制作了一个应用程序并使用SQLite作为数据库。我这样做了:
我的连接字符串和命令字符串是:
SQLiteConnection con = new SQLiteConnection("Data Source=BSTDB.sqlite;Version=3");
string sqlwrite = "INSERT INTO RR (Serial) VALUES('"+cBox1.Text+"')";
SQLiteCommand cmdwrite = new SQLiteCommand(sqlwrite, con);
con.Open();
cmdwrite.ExecuteNonQuery();
con.Close();
但是当我启动程序时,会发生此错误:
SQLite错误没有这样的表:
任何人都可以指导我什么是我的问题吗?
与此同时,这个应用程序现在在Windows 7上运行正常。
这是我在dotnetfx4.5中的代码:
SQLiteConnection con = new SQLiteConnection("Data Source=BSTDB.sqlite;Version=3;");
string sqlwrite = "INSERT INTO SetSerial (Serial,Tarikh,OpName) VALUES(?,?,?)";
SQLiteCommand cmdwrite = new SQLiteCommand(sqlwrite, con);
cmdwrite.Parameters.AddWithValue("@Serial", s1);
cmdwrite.Parameters.AddWithValue("@Tarikh", s2);
cmdwrite.Parameters.AddWithValue("@OpName", s3);
con.Open();
cmdwrite.ExecuteNonQuery();
con.Close();
我的应用运行正常
答案 0 :(得分:0)
yout查询中的主要问题(尽管它是非参数化的)是您正在使用表的模式名称。尝试设置正确的架构,如下所示:
string sqlwrite = "INSERT INTO [BSTDB].[sqlite].[RR] (Serial) VALUES('"+cBox1.Text+"')";
或者,如果您想通过所有者的名字传递:
string sqlwrite = "INSERT INTO [BSTDB]..[RR] (Serial) VALUES('"+cBox1.Text+"')";