课上教学使用的是SqlServer数据库,由于SqlServer数据库配置难以理解,故学习使用Mysql代替数据库连接。(Mysql以及Navicat安装说明在压缩包内)

Mysql连接首先需要用到Mysql.Data.dll连接文件,也就是Mysql Connector Net这一文件,下载后安装会自动在C:\Program Files (x86)\MySQL\MySQL Connector Net 6.9.0这个路径(貌似…)

之后就需要在VS的引用中引用这一文件,然后就可以进行数据库的连接操作了。

首先新建项目,选择Windows窗体应用程序创建一个窗体

将窗体加上组件设置为下图所示样式(可以自由发挥,只要包含相关输入即可)

创建connect.cs的类文件(这里是我为后续创建信息系统方便设置的集成类,可以通过调用该类少写些代码)

其中需要在开头加入using MySql.Data.MySqlClient;

并在类中定义好三个对象

public MySqlConnection conn = null;//连接对象
public MySqlCommand comm = null;//语句执行对象
public MySqlDataReader dr = null;//语句执行结果数据对象

再使用load()方法封装连接过程,这里就需要自行输入数据库的相关信息

using System;using System.Collections.Generic;using System.Linq;using System.Text;using MySql.Data.MySqlClient;namespace DataBaseManager{class connect{public MySqlConnection conn = null;//连接对象public MySqlCommand comm = null;//语句执行对象public MySqlDataReader dr = null;//语句执行结果数据对象//用于一个窗口让用户自定义输入用户名与密码,在这里我直接定义好了//public string uid;//public string pwd;public void load(){//直接写链接语句,比较容易出错//conn = new MySqlConnection(//"Database = data;Server = localhost;Port = 3306;Password = " + pwd + ";UserID = " + uid + ";charset = utf8mb4");//conn.Open();//使用Builder写语句,实现分段//与数据库连接的信息MySqlConnectionStringBuilder builder = new MySqlConnectionStringBuilder();//数据库连接时的用户名,可以用pidbuilder.UserID = "root";//数据库连接时的密码,可以用pwdbuilder.Password = "admin";//数据库连接时的服务器地址builder.Server = "localhost";//要连接的数据库builder.Database = "data";//定义与数据连接的链接conn = new MySqlConnection(builder.ConnectionString);//打开这个链接conn.Open();}}}

之后双击窗体中的button,定义输入方法验证连接。

 private void button1_Click(object sender, EventArgs e){//con.uid = textBox1.Text;//con.pwd = textBox2.Text;//调用load方法建立open连接con.load();//查询语句,查询用户名与密码,这里的ls可以是textBox1.Textstring sql = "select * from user_info where username ='ls';";con.comm = new MySqlCommand(sql, con.conn);con.dr = con.comm.ExecuteReader();con.dr.Read();//验证密码,同理,这里的123可以是textBox2.Text,因为我数据库设置的密码与账号是ls 与 123 所以无论输入什么都是登陆成功if ("123" == con.dr.GetString("password")){MessageBox.Show("登录成功!");con.dr.Close();this.Close();//关闭此窗口,方便弹出主窗口}elseMessageBox.Show("登录失败!");}

如果你在connect中输入信息有误,一般会出现如下错误,此时就需要检查账号密码是否正确

而如果数据库输入错误,会显示这个错误

最后是相关数据库,user_info表的结构,可以在引用完dll文件后后创建这个数据库直接测试该C#窗体文件

另外,在压缩包中还放入了一个简易的具备CRUD功能的学生信息系统,可以在深入学习后使用它进行体验

下为学生信息的表结构,相关信息可以自己输入

链接:https://pan.baidu.com/s/1Yg1aSgiydHQ1bevX5r3QCQ
提取码:xyz3

欢迎分享交流!