admin管理员组文章数量:1794759
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未绑定,控件里的数据需要通过代码显示出来
仓库地址
版权声明:本文标题:vs 2022连接MySQL数据库 内容由林淑君副主任自发贡献,该文观点仅代表作者本人, 转载请联系作者并注明出处:http://www.xiehuijuan.com/baike/1686770733a100558.html, 本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容,一经查实,本站将立刻删除。
发表评论