
vs 2022连接MySQL数据库
程序功能
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; else sql += " and " + label2.Text + " = " + textBox2.Text; } if (textBox4.Text != "") { if (n == 0) sql += " " + label4.Text + " = " + textBox4.Text; else sql += " 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; else sql += " and " + label2.Text + " = " + textBox2.Text; } if (textBox4.Text != "") { if (n == 0) sql += " " + label4.Text + " = " + textBox4.Text; else sql += " 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未绑定,控件里的数据需要通过代码显示出来
仓库地址
👁️ 阅读量:0
© 版权声明:本文《vs 2022连接MySQL数据库》内容均为本站精心整理或网友自愿分享,如需转载请注明原文出处:https://www.zastudy.cn/wen/1686770956a336215.html。