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#程序设计有所帮助。
猜你喜欢
- 1、安装pip install djangorestframework2、创建项目及应用创建项目创建应用目录结构如图3、设置settings
- 具体代码和说明如下:upload.asp<form action=http://<%= Request.&n
- range()函数配合循环一块使用很方便,今天来整理一下这个函数的主要用法,以及几个小例子首先来看一下函数原型,非常简单: range(st
- 什么是词干提取?在语言形态学和信息检索里,词干提取是去除词缀得到词根的过程─—得到单词最一般的写法。对于一个词的形态词根,词干并不需要完全相
- javascript中要判断一个变量是否为array通常是比较困难的,因为var a = [];alert(t
- 我们的搜索示例仍然相当地简单,特别从数据验证方面来讲;我们仅仅只验证搜索关键值是否为空。 然后许多HTML表单包含着比检测值是否为空更为复杂
- 为了防止再次被攻击,做个验证码过滤程序是必要的。我在网上找了一些资料,觉得用别人做好的代码总是很不爽,自己做麻又不会写复杂的代码,特别是生成
- 在使用Python做socket编程时,由于需要使用阻塞(默认)的方式来读取数据流,此时对于数据的结束每次都需要自己处理,太麻烦。并且网上也
- 问题Python 中 PDF 转图片一般用的是 pdf2image。有时我们会发现 PDF 转出来的图片都是空白,或者缺失了一些字,具体表现
- 这篇文章主要介绍了PyQt5 closeEvent关闭事件退出提示框原理解析,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的
- Real Numbers实数实数是具有小数部分的数字, 当然, 实数不是专门用来表示小数的, 也可以用DECIMAL来存储那些无法用INTE
- 1.无效数据的概念无效数据是指不符合数据收集目的或数据收集标准的数据。这些数据可能来自于不准确的测量、缺失值、错误标注、虚假的数据源或其他问
- 觉得废话多的话,可以直接看代码作用防止有人不停的刷接口,对接口作限制比如说,登录接口,按道理说,应该只有app会请求这个接口但是,如果有人抓
- 1、环境搭建需安装:python3.6Pycharm专业版django 2.2.6mysqlclientpip install django
- 读取binlog,方法有二:1.使用mysqlbinlog,详细用法,请参考MySQL手册2.使用MySQL的自带工具,SHOW BINLO
- 目的:python能使用xlrd模块实现对Excel数据的读取,且按照想要的输出形式。总体思路:(1)要想实现对Excel数据的读取,需要用
- 我就废话不多说了,大家还是直接看代码吧!# -*- coding: utf-8 -*-"""Created o
- 动态 web 应用也会需要静态文件,通常是 CSS 和 JavaScript 文件。理想状况下, 我们已经配置好 Web 服务器来提供静态文
- 今天要做一个量子隧穿的的演示动画,在CSDN上看了很多大佬的文章,然而忙了接近半天才做好这件事。把踩过的坑记一下,同时这段代码也是值得记录的
- 1、原材料1.1 花灯纸如下所示,还可以加上自己喜欢的图案、文字等。2.2 Python环境和模块一台安装了Python环境的电脑,Pyth