刚开始在wince下做开发,现在正在试着用sqlite。按照网上的例子程序写了一段代码,运行之后数据库创建和连接都能成功,但是运行到创建表的时候总是在“cmd.CommandText = sql”这一行提示“MissingMethodException”。另外打开数据的时候,我本来使用的是“Open()”这个函数,但是因为总是提示“MissingMethodException”,我就换成了“OpenAndReturn()”,然后不提示出错了,但是走到设置SQliteCommand的相关参数的时候就出错。往高手指教。
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));
}