打开APP
userphoto
未登录

开通VIP,畅享免费电子书等14项超值服

开通VIP
DataGridView控件读写MySQL数据库表格的方法
userphoto

2010.08.02

关注

  DataGridView是VS中表格化显示数据的控件,功能强大,使用方便。MySQL是简便易用的免费的关系数据库管理系统。下面介绍在 DataGridView中显示MySQL中表格数据,以及将DataGridView中更新(插入、删除、修改)后的数据返回到MySQL中的表格保存的方法。

        要在VS中使用MySQL,最方便的办法是使用ADO.NET。这需要安装MySQL的connector/.NET,它提供了MySQL到.NET的接口类。

        MySQL connector/.NET安装完成后,在Visul Studio的解决方案资源管理器中,右键项目名,添加引用:MySql.Data。在代码页添加命名空间:

 using MySql.Data.MySqlClient;

即可使用MySQL connector/.NET中提供的类。

        DataGridView使用绑定MySQL中的表格数据的方式来显示并更新其数据。

下面为某一打开某数据库中的表格并在DataGridView显示其数据的事件处理程序:

        MySqlConnection conn;   // mysql连接
        MySqlDataAdapter myadp; // mysql数据适配器
        DataSet myds;   // 数据集

 

        string MyConnectionString;
        MyConnectionString = "server = localhost; uid = root; pwd = 123456; database = mytest";
        try

        {

                //打开菜单配置数据库连接

                conn = new MySqlConnection();   // 实例化数据库连接(instanced)
                conn.ConnectionString = MyConnectionString ;   // 配置连接(configured)
                conn.Open();   // 打开连接(opened)

                myadp = new MySqlDataAdapter("select * from table1", conn);
                myds = new DataSet();
                // 填充和绑定数据
       

;         myadp.Fill(myds, "table1");              
                bindingSource1.DataSource = myds.Tables["table1"];

                dataGridView1.DataSource = bindingSource1;

        }

        catch (MySqlException ex)
        {
              switch (ex.Number)
              {
                  case 0:
                        MessageBox.Show("不能连接到数据库服务器,请联系数据库管理员!"); break;
                  case 1045:
                        MessageBox.Show("无效的用户名/密码,请重试!"); break;
                  case 1049:
                        MessageBox.Show("数据库不存在,或数据库名错误"); break;
                    default :
                        MessageBox.Show(ex.Message); break;
                }
         }

 

        此时即可在DataGridView中显示table1中的数据。

        如果要将DataGridView更新后的数据传回到table1中,则在事件处理代码中使用如下指令:

          &n

bsp; string MyConnectionString;
            MyConnectionString = "server = localhost; uid = root; pwd = 123456; database = mytest";
            try
            {

                bindingSource1.DataSource = myds.Tables["table1"];   
                dataGridView1.DataSource = bindingSource1;

                MySqlCommandBuilder mycb = new MySqlCommandBuilder(myadp);
                myadp.Update(myds, "table1");

            }

            catch

            {

                    ……

            }

 

            使用MySqlCommandBuilder可以避免自己编写SQL的语句,从而Update时,MySQLDataAdapter可以根据用户操作自动判别是修改、删除还是插入特性,并生成相应的SQL命令用来更新数据库。

本站仅提供存储服务,所有内容均由用户发布,如发现有害或侵权内容,请点击举报
打开APP,阅读全文并永久保存 查看更多类似文章
猜你喜欢
类似文章
【热】打开小程序,算一算2024你的财运
mysql数据库中利用GROUP
MySQL
MySQL数据库SQL语法参考
mysql批量删除相同前缀的表格
MySQL数据库引擎快速指导
Mysql的基本语句
更多类似文章 >>
生活服务
热点新闻
分享 收藏 导长图 关注 下载文章
绑定账号成功
后续可登录账号畅享VIP特权!
如果VIP功能使用有故障,
可点击这里联系客服!

联系客服