C# 数据库连接

目录

一、项目要求

二、数据库连接

2.1下载驱动:

2.2驱动介绍

2.3安装

2.4连接MySQL数据库

2.5添加MySQL的引用

三、数据库操作

3.1数据库连接

3.2在DataGridView中显示数据库中数据

3.3数据库基本操作

3.3.1查找

3.3.2删除

3.3.3修改

3.3.4添加

四、结果展示

五、代码仓库


一、项目要求

1、请设计一个项目连接到自己的MySQL数据库,数据库包含至少三张表;
2、使用dataGridView控件显示表中的数据;
3、实现基本crud操作;

二、数据库连接

2.1下载驱动:

1.mysql odbc驱动:

mysql-connector-odbc-8.0.20-winx64.msi

2.Visual Studio连接MySQL工具

mysql-for-visualstudio-1.2.9.msi

3.mysql数据库.net开发驱动
mysql-connector-net-8.0.20.msi

2.2驱动介绍

1.MySQL Connector/ODBC 有时也可以叫做 MyODBC,用户可以用ODBC (Open Database Connectivity,开放数据库互联)数据库连接Mysql的服务器。比如说,用户可以使用Windows或者Unix平台中的应用程序,如微软的 Access,Excel和Borland 的Delphi去连接数据库服务器。

2.mysql for visual studio(VS连接MySQL工具)是一款visual studio连mysql工具,它可以直接集成到Server Explorer中,为设置新连接和处理数据库对象提供无缝体验,但是想让VS访问到MySQL仅仅mysql for visual studio是不够的,还需要下载mysql connector net。

3.MySQL Connector/Net 是 MySQL 官方的 .NET 驱动程序,MySQL 官方的 .NET 客户端开发包。mysql 数据库最新版dotnet数据库连接驱动。

2.3安装

我们要用visual studio连接mysql只需要下载mysql for visual studio和MySQL Connector/Net

2.4连接MySQL数据库

安装完成后,需重启VS

然后添加数据库连接

选择MySQL数据库:

连接数据库:

 

 连接成功:

2.5添加MySQL的引用

1. 下载mysql.data.dll

 2.选择引用

在项目中右键引用->添加引用->浏览->选中MySql.Data.dll文件->确定:

 3.添加完成,点击引用,就可以看到已经添加mysql.data引用

 

三、数据库操作

3.1数据库连接

用户输入用户名和密码,从两个textbox中读取信息,点击连接后连接数据库

protected void btnClick(object sender, EventArgs e)
        {
            //与数据库连接的信息
            MySqlConnectionStringBuilder builder = new MySqlConnectionStringBuilder();
            builder.UserID = Account.Text;  //用户名
            builder.Password = Password.Text;  //密码
            builder.Server = "localhost";  //服务器地址 
            builder.Database = "test";  //连接时的数据库
            MySqlConnection connection = new MySqlConnection(builder.ConnectionString);  //定义与数据连接的链接

            try
            {
                con.Open();//打开数据库连接
                Response.Write("连接数据库查询成功");
                SqlDataReader sdr = cmd.ExecuteReader();//执行SQL命令,并获取查询结果
                GridView1.DataSource = sdr;//将查询结果连接到GridView1中
                GridView1.DataBind();//将结果与GridView1绑定
            }
            catch (Exception ex)
            {
                Response.Write("连接失败,原因是" + ex.Message);
            }
            finally
            {
                if (con.State == System.Data.ConnectionState.Open) //判断数据库连接是否关闭
                    con.Close();//关闭数据库连接
            }
        }`

3.2在DataGridView中显示数据库中数据

因为显示数据库中的全部数据为常用操作,所以将其封装为一个函数QueryAll(),以便再次使用

 private void all_data_Click(object sender, EventArgs e){
            QueryAll();//在表格中显示全部数据
        }
        private void QueryAll(){
            string sql = "SELECT * FROM userlist";
            try
            {
                MySqlCommand cmd = new MySqlCommand(sql, conn);
               // DataSet ds = new DataSet();
                MySqlDataReader reader = cmd.ExecuteReader();//执行ExecuteReader()返回一个MySqlDataReader对象
                //将bs的数据来源设置为reader对象
                BindingSource bs = new BindingSource();
                bs.DataSource = reader;
                //将表格的数据来源设置为bs对象
                this.dataGridView1.DataSource = bs;

                //设置每一列的标题
                dataGridView1.Columns[0].HeaderText = "账号";
                dataGridView1.Columns[1].HeaderText = "姓名";
                dataGridView1.Columns[2].HeaderText = "性别";
                dataGridView1.Columns[3].HeaderText = "年龄";
                dataGridView1.Columns[4].HeaderText = "电话";
                //选择第四列不显示
                dataGridView1.Columns[3].Visible = false;
                reader.Close();
            }
            catch (Exception err)
            {
                MessageBox.Show("错误信息:" + err.Message + "\n错误来源:" + err.Source);
            }
        }

3.3数据库基本操作

3.3.1查找

查找功能是获取文本框中输入的内容,再到数据库中进行对比,将结果显示到表格中

        private void btnQuery_Click(object sender, EventArgs e){
             if(textBox1.Text!="")
                QueryLike();
             else
             	MessageBox.Show("输入的内容不可为空");
        }
 		private void QueryLike() {
            string sql = string.Format("SElECT * FROM userlist WHERE U_NAME='{0}'",textBox1.Text);
            try
            {
                MySqlCommand mcom = new MySqlCommand(sql,conn);
                //使用数据库数据适配器,将数据填充
                MySqlDataAdapter sda = new MySqlDataAdapter(sql, conn);
                //创建DataSet类的对象
                DataSet ds = new DataSet();
                //使用SqlDataAdapter对象sda将查询结果填充到DataSet对象ds中
                sda.Fill(ds);
                //设置表格控件的数据来源为ds
                dataGridView1.DataSource = ds.Tables[0];
               // mreader.Close();
            }
            catch (Exception err)
            {
                MessageBox.Show("错误信息:" + err.Message + "\n错误来源:" + err.Source);
                throw;
            }
        }

3.3.2删除

private void btnDelect_Click(object sender, EventArgs e)
        {
            int id = int.Parse(dataGridView1.SelectedRows[0].Cells[0].Value.ToString());
            //string name = dataGridView1.SelectedRows[0].Cells[1].Value.ToString();  //选中行的第1行,第2列
            //数据库连接串
            
            try
            {
               //MySqlConnection conn = new MySqlConnection(connStr);
                string sql = string.Format("delete from userlist where U_ID={0}",id);
                //填充占位符
                //创建命令执行器对象
                MySqlCommand cmd = new MySqlCommand(sql,conn);
                //执行SQL语句
                cmd.ExecuteNonQuery();
                //弹出消息提示删除成功
                MessageBox.Show("删除成功!");
                //调用查询全部的方法,刷新DataGridView控件中的数据
                QueryAll();
            }
            catch (Exception err)
            {
                MessageBox.Show("错误信息:"+err.Message+"\n错误来源:"+err.Source);
              
            }
        }

3.3.3修改

private void btn_updata_Click_1(object sender, EventArgs e)
        {
                /*修改数据*/
                int id = int.Parse(dataGridView1.SelectedRows[0].Cells[0].Value.ToString());//获取选中的行的id     
                //向upDateform窗口传参代表要修改数据
                upDateform up = new upDateform(id);
                up.Show();
        }
 private void button1_Click_1(object sender, EventArgs e)
        {
                //状态为修改数据
                string sql = "UPDATE userlist ('U_ID' ,'U_NAME' ,'U_SEX' ,'U_PWD' ,'U_EMAIL')VALUES ('{0}','{1}','{2}','{3}','{4}')";
                sql = string.Format(sql, txtid.Text, txtname.Text, txtsex.Text, txtpwd.Text, txtmail.Text);
                try
                {
                    MySqlCommand cmd = new MySqlCommand(sql, conn);//命令执行器
                    cmd.ExecuteNonQuery();//执行sql命令
                    MessageBox.Show("更新成功!");
                }
                catch (Exception err)
                {
                    MessageBox.Show(err.Message);
                    throw;
                }
                conn.Close();
        }

3.3.4添加

private void btn_insert_Click(object sender, EventArgs e)
        {
                /*添加数据*/
                //不向upDateform窗口传参代表添加数据
                upDateform up = new upDateform();
                up.Show();
        }
 private void button1_Click_1(object sender, EventArgs e)
        {
                //状态未新增数据
                string sql = "INSERT INTO userlist (`U_ID` ,`U_NAME` ,`U_SEX` ,`U_PWD` ,`U_EMAIL`)VALUES ('{0}','{1}','{2}','{3}','{4}')";
                sql = string.Format(sql, txtid.Text, txtname.Text, txtsex.Text, txtpwd.Text, txtmail.Text);
                try
                {
                    MySqlCommand cmd = new MySqlCommand(sql, conn);
                    cmd.ExecuteNonQuery();
                    MessageBox.Show("更新成功!");
                }
                catch (Exception err)
                {
                    MessageBox.Show(err.Message);
                    throw;
                }
                conn.Close();
        }

四、结果展示

1.查看所有数据

2.查找

3.删除

删除后

4.添加

添加后

5.修改

选中小齐,将性别改为女

修改后

五、代码仓库

https://github.com/zljdgit/WinMySql.git

野生仙女
关注 关注
  • 10
    点赞
  • 92
    收藏
    觉得还不错? 一键收藏
  • 5
    评论
C#连接数据库的三种方法
shadowyelling的专栏
07-14 8万+
第一种方法:直接通过数据库的用户名、密码等连接到数据库进行数据库连接。如:private void sqlconn(){SqlConncetion  conn = new SqlConnection("SERVER=.;DATABASE=pubs;PWD=;UID=sa;");S
C#web 连接数据库
05-29
一个直接使用的web项目,连接数据库,显示在table上!一个好例子
c#数据库连接大全
12-19
本人收集的C#连接各种数据库的代码.以便大家参考<br>
[C语言]C语言基础知识概述
qq_66767938的博客
09-15 3724
C programming language
C#面:有几种连接到数据库的方式,请列举出来并分别说明它们可以连接哪些数据库
最新发布
那个那个鱼的博客
03-31 422
ADO.NET 是 .NET Framework 提供的一种数据访问技术,可以连接多种类型的数据库,包括但不限于SQL Server、Oracle、MySQL 等。通过 ADO.NET 连接,可以使用各种提供程序(如SqlClient、OracleClient、OleDb等)来连接不同的数据库
C# 封装SQL数据库操作,连接数据库、增、删、改、查
yxh_529的博客
03-14 519
在C端开发中,会遇到数据库操作的需求,按照编程规范我们需要单独封装对数据库的操作,避免代码冗余和杂乱。
史上最简易的MySQL安装教程
热门推荐
Bamboo
06-24 1万+
最近一些小伙伴,常常因为MYSQL的安装问题,打击了学习的信息。为此我本人制作了一个简易版的安装包采用一键配置,满足新手学习(也包括我本人)mysql的所有需求。
c语言入门篇
qq_75270497的博客
11-17 588
🐸强化学习,从基础入手,介绍了C语言中数据类型即各种变量如何使用,让你为你的的入门打好基础,一马平川😘
C# 连接数据库
zls365365的博客
04-06 4419
01 Connection 对象概述 Connection 对象是一个连接对象,主要功能是建立与物理数据库的连接,其主要包括4种访问数据库的对象类,也可称为数据提供程序,分别介绍如下。 SQL Server 数据提供程序,位于 System.Data SqlClient 命名空间。 ODBC 数据提供程序,位于...
c#链接数据库
liurui747的博客
03-17 521
OracleHelpher 中创建一个。用于获取web.config文件中链接字符串文件。1.链接oracle数据库。2.c#链接数据库的方法。
C#连接数据库
qq_42368728的博客
12-03 385
连接数据库需要引入MySql.Data.dll 数据库查询: class Program { static void Main(string[] args) { string connStr = "Database=test;Data Source=127.0.0.1;port=3306;User Id = root;"; MySqlConnection conn = new MySqlConnection(connSt
C#连接MySQL数据库
aopi5620的博客
02-10 115
  本文章是建立在已经安装MySQL数据库的前提,默认安装在C:\Program Files (x86)\MySQL,建议在安装时选中Connector.NET 6.9的安装,里面有MySQLC#连接的动态链接库。   帮助文档C:\Program Files (x86)\MySQL\Connector.NET 6.9\Documentation\ConnectorNET.chm是我...
C# SQL Server数据库连接
01-20
一个简单的例子,连接数据库,查询并显示结果
c# mysql数据库连接池实现
03-24
c#语言下,使用netcore2.1框架,调用netstandard数据库连接池组件
C# 数据库连接
01-16
c# 数据库连接池管理类,有效统一管理数据库连接,非常好用,自己项目在用!!!
C#数据库连接
11-17
数据库连接类,主要针对Access与SQL连接
C#连接mysql,用dataGridView控件显示数据,实现CRUD
qq_49907735的博客
05-25 1028
VS2019使用C#连接mysql数据库,用dataGridView控件显示数据实现CRUD
VS2019连接MySQL数据库
qq_57054839的博客
05-28 789
我们需要设计一个项目连接到自己的MySQL数据库数据库包含至少三张表;然后使用dataGridView控件显示表中的数据;最后实现基本crud操作。 数据库连接VS2019(1)下载mysql 的驱动 我们需要下载mysql 的驱动,就算已经有MySql,也需要安装驱动来保证连接,要不然在VS中连接数据库时会发现没有mysql数据库。 下载驱动: mysql-connector-odbc-8.0.20-winx64.msi mysql odbc驱动 mysql-for-visualstudio-
【Unity 3D】C#mysql数据库中读取、封装SQL语句(附源码)
showswoller的博客
01-04 1092
【Unity 3D】C#mysql数据库中读取、封装SQL语句(附源码)
c#数据库连接查询
05-28
好的,我可以帮你解答关于C#数据库连接查询的问题。 首先,你需要在C#中引入System.Data.SqlClient命名空间,这是用于连接Microsoft SQL Server数据库的命名空间。 以下是一个简单的示例代码,它可以连接到数据库...

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
写文章

热门文章

  • C# 数据库连接 8429
  • 移动开发作业4——百度地图定位APP 3370
  • 移动开发作业2——RecycleView页面点击跳转设计 1537
  • 移动开发作业5——三种近场通信技术的特点以及对未来技术的应用场景进行分析与预测 1443
  • 移动开发作业1——APP门户界面设计 1184

最新评论

  • C# 数据库连接

    巧克力、: 她这个sql语句写的有点问题

  • C# 数据库连接

    菜趴: 为什么测试失败

  • C# 数据库连接

    巧克力、: 请问ta的源码可以再提供一下嘛?git链接404了。

  • C# 数据库连接

    巧克力、: 请问这个源码可以再提供一下嘛?git链接404了。

  • C# 数据库连接

    蝉鸣晚风停: 作者写的太好了,对于我这种编程小白,我只能说“你是我的神”

大家在看

  • 【数据结构】二叉树:简约和复杂的交织之美
  • Keras 3.0强势回归,助力深度学习 347
  • python中的正则表达式
  • 关于AI数字人的几个创作平台及其使用(一) 1295
  • 【从0到1进阶Redis】Zset 有序集合

最新文章

  • C#:实现记事本
  • C#委托实现信用卡用户定时还款功能
  • 移动开发作业6——蓝牙通信的简要设计与开发
2022年3篇
2021年5篇

目录

目录

评论 5
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值

聚圣源等量齐观造句木仙传www.36ccc.com成语寓意好的起什么名字好听无名狂精密制造公司起名8画的字起名字新生婴儿免费起名碧海蓝天百度影音正月廿一装饰公司哪家好店铺起名字测打分服软(校园)甜柚子书包网建材公司起名大全金南俊在线测八字起名男宝宝起名网想开个羊汤店怎么起名起名不常用的字但寓意好中国海军舰艇数量彭姓的宝宝起名大全金榜起名网家庭农场起名五行属缺什么起名形容女人气质优雅漂亮的句子1997年日历保健食品管理制度早会游戏冰川时代5下载易经名字网公司起名淀粉肠小王子日销售额涨超10倍罗斯否认插足凯特王妃婚姻让美丽中国“从细节出发”清明节放假3天调休1天男孩疑遭霸凌 家长讨说法被踢出群国产伟哥去年销售近13亿网友建议重庆地铁不准乘客携带菜筐雅江山火三名扑火人员牺牲系谣言代拍被何赛飞拿着魔杖追着打月嫂回应掌掴婴儿是在赶虫子山西高速一大巴发生事故 已致13死高中生被打伤下体休学 邯郸通报李梦为奥运任务婉拒WNBA邀请19岁小伙救下5人后溺亡 多方发声王树国3次鞠躬告别西交大师生单亲妈妈陷入热恋 14岁儿子报警315晚会后胖东来又人满为患了倪萍分享减重40斤方法王楚钦登顶三项第一今日春分两大学生合买彩票中奖一人不认账张家界的山上“长”满了韩国人?周杰伦一审败诉网易房客欠租失踪 房东直发愁男子持台球杆殴打2名女店员被抓男子被猫抓伤后确诊“猫抓病”“重生之我在北大当嫡校长”槽头肉企业被曝光前生意红火男孩8年未见母亲被告知被遗忘恒大被罚41.75亿到底怎么缴网友洛杉矶偶遇贾玲杨倩无缘巴黎奥运张立群任西安交通大学校长黑马情侣提车了西双版纳热带植物园回应蜉蝣大爆发妈妈回应孩子在校撞护栏坠楼考生莫言也上北大硕士复试名单了韩国首次吊销离岗医生执照奥巴马现身唐宁街 黑色着装引猜测沈阳一轿车冲入人行道致3死2伤阿根廷将发行1万与2万面值的纸币外国人感慨凌晨的中国很安全男子被流浪猫绊倒 投喂者赔24万手机成瘾是影响睡眠质量重要因素春分“立蛋”成功率更高?胖东来员工每周单休无小长假“开封王婆”爆火:促成四五十对专家建议不必谈骨泥色变浙江一高校内汽车冲撞行人 多人受伤许家印被限制高消费

聚圣源 XML地图 TXT地图 虚拟主机 SEO 网站制作 网站优化