本文实例讲述了C#操作SQLite数据库之读写数据库的方法。分享给大家供大家参考,具体如下:
这里演示读写数据库并在窗体(Form)中显示其数据,其方式为:
读:
Database(SQLite) -> DataAdapter -> DataSet -> DataGridView
写:
Database(SQLite) <- DataAdapter <- DataSet <- DataGridView
1、假设现有数据库表student,其字段如下:
ID(自增字段,主键) |
number |
name |
grade |
1 |
20120001 |
jackey |
1 |
2、DataGrideView控件和DataSet控件
在Form上拖放一个DataGrideView控件(注意:不需要指定数据源(DataSource),而只需要在代码中对DataGridView对象的DataSource成员幅值即可);然后再拖放一个DataSet控件(此控制不在窗体上显示出来)。
3、读并在DataGrideView中显示出来
mDbConn = new SQLiteConnection("Data Source=sqlite.student.db"); mDbConn.Open(); dataAdapter = new SQLiteDataAdapter("SELECT * FROM student;", mDbConn);//读数据库 dataAdapter.FillSchema(dataSet1, SchemaType.Source, "student");//将数据库表student的架构信息(此时为主键约束)填充到dataSet1的student表中 dataAdapter.Fill(dataSet1, "student");//填充DataSet控件 dataGridView1.DataSource = dataSet1.Tables["Table"];//注意,DataSet中的数据表依次为Table, Table1, Table2... mDbConn.Close();
注意:
dataAdapter.FillSchema(dataSet1, SchemaType.Source, "student");
将数据库表student的架构信息(此时为主键约束)填充到dataSet1的student表中
4、写并更新DataGrideView中
mDbConn.Open(); DataRow dataRow = dataSet1.Tables["student"].NewRow(); dataRow["number"] = "20120010"; dataRow["name"] = "李四"; dataRow["grade"] = "2"; dataSet1.Tables["Table"].Rows.Add(dataRow); dataGridView1.Invalidate();//实时更新dataGridView1 dataAdapter.InsertCommand = new SQLiteCommand("INSERT INTO student(number, name, grade) VALUES('" + dataRow["number"] + "','" + dataRow["name"] + "','" + dataRow["grade"] + "')", mDbConn); dataAdapter.Update(dataSet1, "student""); mDbConn.Close();
参数文献
http://msdn.microsoft.com/zh-cn/library/49z48hxc(v=vs.90).aspx
http://msdn.microsoft.com/zh-cn/library/879f39d8(v=vs.80).aspx
http://msdn.microsoft.com/zh-cn/library/879f39d8(v=vs.100).aspx
希望本文所述对大家C#程序设计有所帮助。