C#操作SQLite数据库之读写数据库的方法
作者:zhenyongyuan123 发布时间:2024-01-27 21:46:33
本文实例讲述了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#程序设计有所帮助。


猜你喜欢
- Asyncio 任务可以通过调用它们的 cancel() 方法来取消。我们可以通过将任务包装在对 asyncio.shield() 的调用中
- 遇到这样一个需求,有一张表,要给这张表新增一个字段delta,delta的值等于每行的c1列的值减去上一行c1列的值。我的解决方案,可以通过
- 在Qtdesigner中新建一个主界面如下所示:ctrl+R 预览从预览图中可以看出这时的界面不支持伸缩,拖动过小的话会导致部分界面遮住不可
- python按指定行数把大文件进行拆分如图大文件有7000多万行,大小为16G需要拆分成多个200万行的小文件代码如下:# -*- codi
- 前言延迟队列是一个非常有用的工具,我们经常遇到需要使用延迟队列的场景,比如延迟通知,订单关闭等等。这篇文章主要是使用Go+Kafka实现延迟
- 为了今天要写的内容,运行了将近7个小时的程序,在数据库中存储了1千万条数据。——今天要说的是mysql数据库的IF()函数的一个实例。 具体
- 1.python中列表list的拷贝,会有什么需要注意的呢? python变量名相当于标签名。list2=list1 ,直接赋值,实质上指向
- 重现的前提条件: 输出格式为“文本”的并发程序:有效责任和用户。 如何在查看输出时出现Excel选项:系统管理员》安装》浏览器选项》添加一行
- 本文实例讲述了python实现的分析并统计nginx日志数据功能。分享给大家供大家参考,具体如下:利用python脚本分析nginx日志内容
- 一.图像漫水填充图像漫水填充(FloodFill)是指用一种特定的颜色填充联通区域,通过设置可连通像素的上下限以及连通方式来达到不同的填充效
- 写一个爬虫首先就是学会设置请求头header,这样才可以伪装成浏览器。下面小编我就来给大家简单分析一下python3怎样构建一个爬虫的请求头
- 类型转换和类型断言类型转换语法:Type(expression)类型断言语法为:expression.(Type)1.类型转换示例代码pac
- 现在大多数Centos6.x版本的系统python都是2.x,现因开发需求需要安装前端代码的构建工具glue,故必须要做python版本的升
- 通常我们提交代码一般都是 git add ,git commit -m, git push的这么个流程。添加到暂存区
- 如果你电脑是Mac的,使用homebrew安装MySQL是一个非常便捷的方式,但是还是会出现一些问题;首先保证你已经安装了mysql,如果是
- 今天把Ext.js源码又读了一遍,不过这次比较认真。看完代码,有了不少收获也遇到不少问题。主要总结如下:1、document.execCom
- 我们利用linux系统中yum安装Apache+MySQL+PHP是非常的简单哦,只需要几步就可以完成,具体如下:一、脚本YUM源安装:1.
- 在transactional replication, 经常会遇到数据同步延迟的情况。有时候这些延迟是由于在publication中执行了一
- 前言在Django应用程序中发送电子邮件最常见的用例是密码重置、帐户激活和发送与您的应用程序相关的一般通知。下面来看看详细的介绍吧。配置Dj
- 先看看结果吧,去bilibili上拿到的图片=-=第一步,导入模块import requestsfrom bs4 import Beauti