学校c#大作业在连接mysql数据库过程中遇到的坑们

本文档记录了作者在使用C#进行学校大作业时,连接MySQL数据库过程中遇到的问题及解决方法。包括安装Visual Studio和MySQL,使用Navicat进行图形化操作,下载并引用MySql.Data.dll库,创建MySqlHelper类,以及在DataGridView中处理点击事件和数据更新等问题。
摘要由CSDN通过智能技术生成

目录

写在前面:这篇文档是我一年之前写学校c#大作业时遇到的坑,不赘述基本语法入门之类的东西,只把有用的干活分享出来,都是当时踩的坑。

用到的网站

准备工作

  1. 下载安装Visual Studio

  2. 下载安装数据库

代码中连接数据库

  1. 下载MySql.Data.dll库, 并添加到程序的引用中

    • 被csdn坑了一个金币才下到-、-百度网盘链接 密码:4s91
    • 引用 ->(右键)添加引用 -> 浏览
  2. 在程序中创建MySqlHelper.cs类

    • 网上有很多,可以自己下载
    • 源码附在最后,粘贴时注意添加引用
    • 我使用的百度网盘连接 密码:iazn,也可以在这儿下
    • 注意修改命名空间
  3. 在布局中添加DataGridView控件,并设置好其数据源

         string sql = "SELECT * FROM students";//合法的sql语句即可,此处只是举例
         this.dgd_view.ClearSelection();
         MySqlConnection connection = new MySqlConnection();
         this.dgd_view.DataSource = MySqlHelper.GetDataSet(MySqlHelper.Conn, CommandType.Text, sql, null).Tables[0].DefaultView;

小问题

主体已经完成,接下来列出遇到的几个小问题及解决过程作为参考

  • 对数据库进行基本操作,比如修改、查找等的时候,经常需要获取到选中的单元格/行的内容

    • 一开始无从下手,怎么办呢,从百度下手
    • 网上的解决方案中对于新手来说不够具体,比如添加什么点击事件并没有说明
    • 怎么办呢,自己动手丰衣足食,在设计界面双击DataGridView添加点击事件CellContentClick,然而发生了一个神奇的问题,点击时有时会触发绑定的事件,有时候不会,思考了十多分钟才弄明白,为什么你们也自己想下-、-
    • 接下来就是怎么实现此功能,我的解决方式是,先对数据库操作(比如添加/修改/删除记录),然后更新DataGridView
  • 需要将查询结果展现在TextBox中

    • 因为时间比较紧,所以依旧采用之前用到的MySqlHelper中的GetDataSet方法
    • 此方法返回的是DataSet类型,直接操作不方便
    • 我的解决方案是新建一个隐藏的DataGridView作为过渡

上面的两个小问题可能很多人觉得很简单不值一提,但是对于我这种刚接触c#没几天的学生来说还是比较困扰的,希望给我这样的c#菜鸟给一些启发

附:MySQLHelper.cs

public abstract class MySqlHelper {
        //数据库连接字符串
        public static string Conn = "Database='#your_db_name#';Data Source='localhost';User Id='root';Password='#your_password#';charset='utf8';pooling=true";

        // 用于缓存参数的HASH表
        private static Hashtable parmCache = Hashtable.Synchronized(new Hashtable());

        /// <summary>
        ///  给定连接的数据库用假设参数执行一个sql命令(不返回数据集)
        /// </summary>
        /// <param name="connectionString">一个有效的连接字符串</param>
        /// <param name="cmdType">命令类型(存储过程, 文本, 等等)</param>
        /// <param name="cmdText">存储过程名称或者sql命令语句</param>
        /// <param name="commandParameters">执行命令所用参数的集合</param>
        
  • 1
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值