刚开始在wince下做开发,现在正在试着用sqlite。按照网上的例子程序写了一段代码,运行之后数据库创建和连接都能成功,但是运行到创建表的时候总是在“cmd.CommandText = sql”这一行提示“MissingMethodException”。另外打开数据的时候,我本来使用的是“Open()”这个函数,但是因为总是提示“MissingMethodException”,我就换成了“OpenAndReturn()”,然后不提示出错了,但是走到设置SQliteCommand的相关参数的时候就出错。往高手指教。
- C# code
private void button2_Click(object sender, EventArgs e) { // 创建一个空数据库 string DbName = "test1.db"; SQLiteConnection.CreateFile(DbName); MessageBox.Show("数据库创建完成。"); // 连接数据库 string connStr = "data source=" + DbName + ";Pooling=true;FailIfMissing=false"; SQLiteConnection conn = new SQLiteConnection(connStr); conn.OpenAndReturn(); MessageBox.Show("数据库连接完成。"); // 创建表 System.Data.SQLite.SQLiteCommand cmd = new System.Data.SQLite.SQLiteCommand(conn); string sql = "CREATE TABLE test(username varchar(20),password varchar(20))"; cmd.CommandText = sql; cmd.ExecuteNonQuery(); MessageBox.Show("数据库表创建完成。"); // 插入数据 sql = "INSERT INTO test VALUES('dotnetthink','mypassword')"; cmd.CommandText = sql; cmd.ExecuteNonQuery(); MessageBox.Show("插入数据完成。"); // 取出数据 sql = "SELECT * FROM test"; cmd.CommandText = sql; System.Data.SQLite.SQLiteDataReader reader = cmd.ExecuteReader(); StringBuilder sb = new StringBuilder(); while (reader.Read()) { sb.Append("username:").Append(reader.GetString(0)).Append("\n"); sb.Append("password:").Append(reader.GetString(1)); } MessageBox.Show(sb.ToString()); }
------解决方案--------------------
楼主第一步要做的是编译出能在wince6.0下使用的SQLite3库
我以前做项目时测试过wince下的sqlite3程序,没任何问题
还有楼主可以下载一个网上一个牛人封装的SQLite3操作类,CppSQLite3U , 可以直接使用