目录
写在前面:这篇文档是我一年之前写学校c#大作业时遇到的坑,不赘述基本语法入门之类的东西,只把有用的干活分享出来,都是当时踩的坑。
用到的网站
- Visual Studio 2015 Community官方下载地址
- C# 官方API文档
- MySQL官方下载地址
- Navicat官方下载地址
- 哪儿不懂就问度娘
- 当然谷歌更好
- CSDN -“最大中文IT社区”
准备工作
下载安装Visual Studio
- vs2015官方下载地址
- vs2015百度网盘链接 密码:500f
- 社区版免费,均默认安装即可
下载安装数据库
- 我使用的是MySQLMySQL官方下载地址 百度网盘链接 密码:0x24, 不想用SQL Server,后者不但冗杂占得地方大,卸载还特别复杂
- 社区版依旧免费,默认安装即可
- 正常人都不会喜欢命令行操作,使用Navicat对MySQL进行图形化的操作Navicat官方下载地址 百度网盘链接 密码:jwhh
- 连接Navicat和MySQL,除了密码一切皆默认
代码中连接数据库
下载MySql.Data.dll库, 并添加到程序的引用中
- 被csdn坑了一个金币才下到-、-百度网盘链接 密码:4s91
- 引用 ->(右键)添加引用 -> 浏览
在程序中创建MySqlHelper.cs类
- 网上有很多,可以自己下载
- 源码附在最后,粘贴时注意添加引用
- 我使用的百度网盘连接 密码:iazn,也可以在这儿下
- 注意修改命名空间
在布局中添加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>