创意电子

标题: C#与数据库完善联合,数据操纵简单实用,快速读取数据 [打印本页]

作者: 什来之比    时间: 2021-8-28 11:37
标题: C#与数据库完善联合,数据操纵简单实用,快速读取数据

                               
登录/注册后可看大图

连接数据库有两种方法:

使用数据源设置向导连接

通过编写程序代码来连接

使用“数据源设置向导”产生数据集举行连接数据库

创建窗体后,点击view查看菜单后选择other windows其他窗口,展开第二层菜单选项,点击数据源指令,打开“数据源窗口”:


                               
登录/注册后可看大图
数据源设置向导
在数据源窗口点击左上角的图标“添加新数据源”,打开“数据源设置向导”窗口:


                               
登录/注册后可看大图
数据源设置向导窗口
选择数据源类型,选择database数据库,单击next下一步:


                               
登录/注册后可看大图
选择数据源类型
选择数据集,单击next下一步:


                               
登录/注册后可看大图
选择数据集
选择数据连接,单击new connection新建连接按钮,进入选择数据源对话框:


                               
登录/注册后可看大图
选择数据连接
在数据源中选择“Microsoft access database file”,单击ok按钮进入添加连接对话框:


                               
登录/注册后可看大图
添加连接
点击browse欣赏按钮加入一个access数据库:


                               
登录/注册后可看大图
连接access数据库
单击test connection测试连接按钮,表现测试连接乐成的消息框:


                               
登录/注册后可看大图
测试连接
下一步后,由于数据库文件并非与项目在同一文件夹下,以是会表现以下告诫信息,提示是否要把数据库复制到当前的项目中,单击“是”继续:


                               
登录/注册后可看大图
把数据库复制到当前的项目中
接着,勾选yes,save the connection as复选框,将连接字符串保存到应用程序设置文件当中,单击next继续:


                               
登录/注册后可看大图
保存连接字符串
所有的数据表都在tables当中,展开数据表后,勾选所需要的数据表:


                               
登录/注册后可看大图
数据表
点击finish完成即可,此时可以看到数据库加入到了项目当中。此时,可以查看数据库中的数据,右键点击鼠标选择retrieve data:


                               
登录/注册后可看大图
查看数据表
查看数据表中的数据:


                               
登录/注册后可看大图
查看数据表中的数据
通过程序代码连接数据库,举行提取存入数据

用程序代码来实现与Access数据库的连接,并举行提取和存入数据,包罗以下四个步骤:

导入相关的命名空间

用connection对象来连接数据库

创建command对象,并执行布局查询语句

用DataReader对象来获取查询结果

导入命名空间:

使用System.Data.OleDb命名空间,适用于Access数据库,system.data.oledb命名空间的常用类如下:

OleDbCommand(针对数据源执行的SQL语句或者存储过程)OleDbConnection(建立数据源的连接)OleDbDataAdapter(数据命令集和数据库连接,用来填入DataSet并更新数据源)OleDbDataReader(提供数据源读取数据行的方法)
创建项目后,如果想要连接Access数据库,则必须导入System.Data.OleDb命名空间:

using System.Data.OleDb;
用connection对象连接数据库:

不同的数据库需要不同的connection对象,Access数据库使用OLEDB,以是要用OleDbConnection 对象来创建连接,其构造函数的语法是:

public oledbconnection(string connectionstring);
connectionstring表示用来打开数据库的连接。以是,要用OleDbConnection类来创建对象并指定连接的字符串。

下面来创建OleDbConnection对象conn,并指定连接字符串:

OleDbConnection conn;conn=new OleDbConnection(connstring);
这里面connstring为指定命据源的连接字符串:

connstring = "Provider=microsoft.ace.oledb.12.0;Data Source=G:\data.accdb"
Provider属性:如果使用Access2007以后的版本,则用“microsoft.ace.oledb.12.0”,否则对于低版本的则使用“microsoft.jet.oledb.4.0”

Data Source属性:数据源,指定目的文件所在路径

在完成connection对象创建后,用Open方法来打开数据库:

OleDbConnection类的常用成员有:ConnectionString,获取或者设置打开数据库的字符串ConnectionTimeout:产生错误前实验终止连接的等待时间Database:获取或设置要连接的数据库名称DataSource:获取或设置要连接的数据源名称Provider:获取连接字符串Close():关闭数据库的连接Dispose():释放所占用的资源Open():打开数据库的连接
连接数据库后,就可以读取数据库中数据表中的数据。

可以使用DataAdapter类举行载入数据,下面这段程序代码就可以实现数据的读取任务了,不过要在界面放入一个dataGridView控件,可以借助它来表现数据库中的内容,请看下面的代码:

string connstring;OleDbConnection conn;connstring = @"Provider = microsoft.ace.oledb.12.0;Data Source = F: \学生数据库.accdb";conn=new OleDbConnection(connstring);OleDbDataAdapter copp = new OleDbDataAdapter("select * from 学生信息表", conn);DataSet ds = new DataSet();copp.Fill(ds, "学生信息表");this.dataGridView1.DataSource = ds.Tables["学生信息表"].DefaultView;conn.Close();conn.Dispose();
上面值得说明的是DataAdapter类的方法Fill的作用是将数据表的数据加载到DataSet对象中,然后指定dataGridView控件的DataSource属性表现数据表中的内容:

this.dataGridView1.DataSource = ds.Tables["学生信息表"].DefaultView;
运行程序:


                               
登录/注册后可看大图
运行
点击读取数据库:


                               
登录/注册后可看大图
读取数据
数据表更新操作

建立连接数据库:

connstring = @"Provider = microsoft.ace.oledb.12.0;Data Source =G:\personal\个人数据库.accdb";conn=new OleDbConnection(connstring);
打开已经建立连接的access数据库:

conn.Open();
通过CommandText写查询语句,查询语句语法格式与access数据库基本相同:

CommandText = "update 学生信息 set 所在城市='北京' where 姓名 like '%张%'";
此语句是将学生信息表中姓张的同砚住所都改成了北京。

通过ExecuteNonQuery运行查询语句:

ExecuteNonQuery();
当运行程序时已经对建立连接数据库中的数据举行了修改。

关闭释放连接:

conn.Close();conn.Dispose();
运行程序:


                               
登录/注册后可看大图
更新数据库
点击运行后,打开数据库:

修改前:


                               
登录/注册后可看大图
修改前数据
修改之后,姓张的住所修改成了北京:


                               
登录/注册后可看大图
修改后数据
完备程序代码:

namespace connectionaccess{    public partial class Form1 : Form    {        public Form1()        {            InitializeComponent();        }        private void button1_Click(object sender, EventArgs e)        {            //OleDbConnection(string connectionstring);            string connstring;            OleDbCommand aa = new OleDbCommand();            OleDbConnection conn;            connstring = @"Provider = microsoft.ace.oledb.12.0;Data Source =G:\personal\个人数据库.accdb";            conn=new OleDbConnection(connstring);            //OleDbDataAdapter copp = new OleDbDataAdapter("update 学生信息 set 所在城市='北京' ", conn);              conn.Open();            aa.Connection = conn;            aa.CommandText = "update 学生信息 set 所在城市='北京128' where 姓名 like '%张%'";            aa.ExecuteNonQuery();            //DataSet ds = new DataSet();            //copp.UpdateCommand.UpdatedRowSource;            //copp.Fill(ds, "学生信息表");            //this.dataGridView1.DataSource = ds.Tables["学生信息表"].DefaultView;            conn.Close();            conn.Dispose();            //conn.Open();            MessageBox.Show("运行竣事");    }            }}        使用变量查询字符串数据

变量与常量不同,变量的值在程序运行过程中可以随时改变,在数据库系统应用程序开发中,可能将相应的数据经过一系列的运算后赋给一个变量,因此,在查询中对于变量的查询也是非常重要的,下面介绍变量字符串数据的查询。

根据用户输入的查询信息,生成数据库查询字符串,从而实现变量字符串的查询。

打开Visual C#开发情况,新建一个windows窗体应用程序,对窗体举行简单计划,添加一个textBox控件,一个lable控件,一个button控件和一个dataGridView控件,计划布局如下图:


                               
登录/注册后可看大图
窗体界面计划
双击查询信息后,键入下列程序代码:

string name = textBox1.Text;界说字符串变量存放输入信息string connstring; 界说数据库连接字符串OleDbConnection conn; 界说数据库连接connstring =@"provider = microsoft.ace.oledb.12.0;Data Source = F:\个人数据库.accdb";连接个人数据库字符串conn = new OleDbConnection(connstring);实例化连接string sq1 = string.Format("select * from 学生信息表 where 姓名='{0}'", name);界说变量条件查询字符串OleDbDataAdapter copp = new OleDbDataAdapter(sq1, conn); 界说并实例化数据库对象DataSet ds = new DataSet(); 界说数据集copp.Fill(ds, sq1);实例化查询this.dataGridView1.DataSource = ds.Tables[sq1].DefaultView;表现查询结果conn.Close();关闭数据库连接conn.Dispose();释放对象
运行程序:


                               
登录/注册后可看大图
查询数据
输入学生姓名孙菲菲,点击查询信息:


                               
登录/注册后可看大图
查询信息
只表现孙菲菲的信息,通过输入不同砚生姓名,可实现不同变量的信息查询。

焦点语句为:

string sq1 = string.Format("select * from 学生信息表 where 姓名='{0}'", name);通过设置不确定的姓名变量name来实现不同砚生信息的查询

完备程序代码如下:

namespace connectionaccess{    public partial class Form1 : Form    {        public Form1()        {            InitializeComponent();        }        private void button1_Click(object sender, EventArgs e)        {                    string name = textBox1.Text;            string connstring;            OleDbConnection conn;            connstring =@"provider = microsoft.ace.oledb.12.0;Data Source = F:\个人数据库.accdb";            conn = new OleDbConnection(connstring);            string sq1 = string.Format("select * from 学生信息表 where 姓名='{0}'", name);                        OleDbDataAdapter copp = new OleDbDataAdapter(sq1, conn);                        DataSet ds = new DataSet();                        copp.Fill(ds, sq1);            this.dataGridView1.DataSource = ds.Tables[sq1].DefaultView;            conn.Close();            conn.Dispose();                }    }}    结语:喜欢的请关注、转发、收藏、点赞!
作者: 什来之比    时间: 2021-8-28 11:41
这种方法适合小型数据管理
作者: 采煤工人    时间: 2021-8-28 12:15
Access要安装吗?安装哪个版本。
作者: 从事IT行业的农民工    时间: 2021-8-28 15:15
没有实际项目为导向,我是学不下去的
作者: 天之汗    时间: 2021-8-28 17:12
转发了
作者: 我的地盘她做主    时间: 2021-8-28 19:42
转发了
作者: 懒猫182114812    时间: 2021-8-28 19:47
转发了
作者: wxc3244    时间: 2021-8-28 20:50
转发了
作者: 聪慧艺术家3E    时间: 2021-8-28 22:17
作者用心了[赞]
作者: 聪慧艺术家3E    时间: 2021-8-28 22:18
[赞]
作者: 潮汕大力发展部    时间: 2021-8-29 05:28
写的很详细,非常适合初学者入门




欢迎光临 创意电子 (https://wxcydz.cc/) Powered by Discuz! X3.4