在 C# 编写的 Windows CE 中使用 SQLite
本文关键字:SQLite CE Windows | 更新日期: 2023-09-27 18:35:29
我为我的PDA做了一个应用程序,并使用SQLite作为数据库。我做了如下:
- 将System.Data.SQLite.dll添加到我的参考中
- 添加了 SQLite.Interop.066.DLL , SQLite.Interop.066.exp , SQLite.Interop.066.lib 到解决方案
- 使用 System.Data.SQLite 调用 ref;
我的连接字符串和命令字符串是:
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();
和我的应用程序工作正常
yout 查询中的主要问题(尽管它是非参数化的)是你对表使用架构名称。尝试设置正确的架构,如下所示:
string sqlwrite = "INSERT INTO [BSTDB].[sqlite].[RR] (Serial) VALUES('"+cBox1.Text+"')";
或者,如果您想通过所有者的姓名传递:
string sqlwrite = "INSERT INTO [BSTDB]..[RR] (Serial) VALUES('"+cBox1.Text+"')";