程序功能

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


准备

vs2022


完整代码

using MySql.Data.MySqlClient;
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;namespace LinkSQL
{public partial class Form1 : Form{public Form1(){InitializeComponent();}string connString;MySqlCommand comm = new MySqlCommand();MySqlConnection conn;private void button1_Click(object sender, EventArgs e){connString = "server=localhost; database=test; uid=root; pwd=q1298516531;Character Set=utf8;";conn = new MySqlConnection(connString);comm.Connection = conn;conn.Open();}private void dataGridView1_CellContentClick(object sender, DataGridViewCellEventArgs e){}private void button5_Click(object sender, EventArgs e){try{string sql = "select * from score where ";int n = 0;if (textBox1.Text != ""){ sql += label1.Text + " = " + textBox1.Text; n++;}if (textBox2.Text != ""){if (n == 0)sql += " " + label2.Text + " = " + textBox2.Text;elsesql += " and " + label2.Text + " = " + textBox2.Text;}if (textBox4.Text != ""){if (n == 0)sql += " " + label4.Text + " = " + textBox4.Text;elsesql += " and " + label4.Text + " = " + textBox4.Text;}sql += ";";MySqlDataAdapter da = new MySqlDataAdapter(sql, connString);DataSet ds = new DataSet();da.Fill(ds, "score");dataGridView1.DataSource = ds;dataGridView1.DataMember = "score";}catch (Exception ex){MessageBox.Show(ex.Message, "操作数据库出错!", MessageBoxButtons.OK, MessageBoxIcon.Exclamation);}}private void button2_Click(object sender, EventArgs e){try{string sql = "insert into score values("+textBox1.Text+","+textBox2.Text+","+textBox4.Text+");";MySqlDataAdapter da = new MySqlDataAdapter(sql, connString);DataSet ds = new DataSet();da.Fill(ds, "score");dataGridView1.DataSource = ds;dataGridView1.DataMember = "score";}catch (Exception ex){MessageBox.Show(ex.Message, "操作数据库出错!", MessageBoxButtons.OK, MessageBoxIcon.Exclamation);}}private void button3_Click_1(object sender, EventArgs e){try{string sql = "delete from score where " ;int n = 0;if (textBox1.Text != ""){sql += label1.Text + " = " + textBox1.Text;n++;}if (textBox2.Text != ""){if (n == 0)sql += " " + label2.Text + " = " + textBox2.Text;elsesql += " and " + label2.Text + " = " + textBox2.Text;}if (textBox4.Text != ""){if (n == 0)sql += " " + label4.Text + " = " + textBox4.Text;elsesql += " and " + label4.Text + " = " + textBox4.Text;}sql += ";";MySqlDataAdapter da = new MySqlDataAdapter(sql, connString);DataSet ds = new DataSet();da.Fill(ds, "score");dataGridView1.DataSource = ds;dataGridView1.DataMember = "score";}catch (Exception ex){MessageBox.Show(ex.Message, "操作数据库出错!", MessageBoxButtons.OK, MessageBoxIcon.Exclamation);}}private void button4_Click(object sender, EventArgs e){try{int n = 0;string sql = "update score set " + label4.Text + " = " + textBox4.Text + " where s_id = " + textBox1.Text + " and c_id=" + textBox4.Text + ";";MySqlDataAdapter da = new MySqlDataAdapter(sql, connString);DataSet ds = new DataSet();da.Fill(ds, "score");dataGridView1.DataSource = ds;dataGridView1.DataMember = "score";}catch (Exception ex){MessageBox.Show(ex.Message, "操作数据库出错!", MessageBoxButtons.OK, MessageBoxIcon.Exclamation);}}}
}

运行结果


未连接时点击其他按钮弹出窗口

可单独查询某一条件或多个条件
增加一条数据,datagridview无显示,但数据库中增加上了 。删除相同情况。

提示:修改功能有问题未解决,点击修改之后数据库中内容未变。


解决方案:


如果vs版本是2017或者2019可以从MySQL官网下载驱动绑定到datagridview控件上,但是由于我的vs版本为2022,下载驱动会出现以下问题
然后采用文章开头的方法。此时数据与datagridview未绑定,控件里的数据需要通过代码显示出来

仓库地址

vs 2022连接MySQL数据库相关推荐

  1. macOS安装MySQL,使用Navicat连接MySQL数据库/2022

    macOS安装MySQL,使用Navicat连接MySQL数据库/2022 intel chip 下载安装文件 进入官网 MySQL :: MySQL Downloads 选择页尾MySQL Comm ...

  2. JDBC连接MySQL数据库,访问数据库信息完成登录功能——保姆级详细教程(附所有java和jsp源代码)

    目录 前言 JDBC的介绍 通过JDBC连接MySQL数据库 导入mysql驱动 连接数据库 连接数据库 判断连接是否成功 使用数据库实现登录 获取前端表单的用户输入 判断用户名和密码为空 查询表 判 ...

  3. 记录python使用pymysql连接mysql数据库,使用impyla、ibis-framework[impala]连接hive\impala(kerberos)数据库(备以后查阅)

    记录python使用pymysql连接mysql数据库,使用impyla.ibis-framework[impala]连接hive\impala(kerberos)数据库(备以后查阅) 连接mysql ...

  4. linux(ARM架构)下的mysql安装、QT连接mysql数据库(完整版)

    一.安装MYSQL之前要先换源 二.安装MYSQL 1.安装 2.安装完成 3.安装后无法登陆 3.1 原因 3.2 登陆后切换database 3.3 修改密码(注意这里账号和密码是双引号) 3.4 ...

  5. Mybatis - Mybatis简介到完善Idea配置Mybatis、以及idea连接Mysql数据库方法

    文章目录 MyBatis简介 什么是MyBatis? 持久层 表现层 业务层 持久层 框架 JDBC缺点 1.硬编码 2.操作繁琐 MyBatis简化 MyBatis快速入门 入门案例 创建表.插入数 ...

  6. .net连接mysql数据_.net连接MYSQL数据库的方法及示例!

    连接MYSQL数据库的方法及示例 方法一: 使用MYSQL推出的MySQL Connector/Net is an ADO.NET driver for MySQL 该组件为MYSQL为ADO.NET ...

  7. JDBC连接MySQL数据库及演示样例

    JDBC是Sun公司制定的一个能够用Java语言连接数据库的技术. 一.JDBC基础知识         JDBC(Java Data Base Connectivity,java数据库连接)是一种用 ...

  8. python用django连接mysql_三分钟了解Django如何连接Mysql数据库

    处理用户注册请求.Django连接MysqL数据库相关配置.数据库迁移命令: my_Dproject/app01/views.py    在views函数文件中添加register函数,来处理用户注册 ...

  9. eclipselink mysql_Eclipse连接MySQL数据库(傻瓜篇)

    Eclipse连接MySQL数据库(傻瓜篇) 本来不想写这么简单人文章,在百度上搜索我这个标题,完全符合标题的一大堆.但我按照那些文章捣鼓了很久,就是不行. 我的环境:MySQL:mysql-esse ...

最新文章

  1. switch case
  2. 9.19scikit-learn安装方法
  3. 使用增强型后缀数组(ESA)的文本匹配算法
  4. 02-导航实例-storyboard实现
  5. 3.4 多个例子中的向量化-深度学习-Stanford吴恩达教授
  6. Bdsyn百度手机助手是何物,它是怎样神不知鬼不觉地安装到你的电脑里的?
  7. 咦,用浏览器做人脸检测,竟然这么简单?
  8. oracle+执行变量语句,ORACLE sql 语句的执行过程(SQL性能调整)
  9. redis win连接以及配置连接密码
  10. 一道学吧上的题目,python3 - 解决高中的古典概率问题: 有A、B两个袋子。A袋中装有4个白球、2个黑球,B袋中装有3个白球、4个黑球。从A、B两个袋子中
  11. HDU 5273 Dylans loves sequence【 树状数组 】
  12. 数据表多次更新插入重复数据去重SQL
  13. 北京理工大学计算机面试题,北京理工大学自主招生面试试题综合素质答案技巧.doc...
  14. hdu5745La Vie en rose
  15. Python中pass是什么?
  16. 九头身美女_百度百科
  17. 部署Apache Doris
  18. python爬取视频自动播放_求助该网站如何让它能自动播放下一个视频。。。醉了,要挂80个课时...
  19. CSS代码常用代码以及前端图片代码
  20. 【T3】打印单据(非新打印)表头显示不全

热门文章

  1. CSS3选择器-组合选择器
  2. 认识Android应用开发(一)
  3. 将 Cpar 文件导入 2019 版的 Carsim 后,无法打开 video+plot 是什么问题?
  4. oracle练习习题与答案
  5. 数据模型与业务模型(领域模型)的区别
  6. id 重启event_windows server 2008 R2服务器自动重启,事件ID:6008和事件ID:5
  7. Python实例篇:这样操作PDF文件一点都不枯燥了
  8. 《NTC电阻在充电中的应用》
  9. VQLS:变分量子算法解线性方程组
  10. Linux 网络之netlink 简介