课上教学使用的是SqlServer数据库,由于SqlServer数据库配置难以理解,故学习使用Mysql代替数据库连接。(Mysql以及Navicat安装说明在压缩包内)
Mysql连接首先需要用到Mysql.Data.dll连接文件,也就是Mysql Connector Net这一文件,下载后安装会自动在C:Program Files (x86)MySQLMySQL 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();
//数据库连接时的用户名,可以用pid
builder.UserID = "root";
//数据库连接时的密码,可以用pwd
builder.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.Text
string 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();//关闭此窗口,方便弹出主窗口
}
else
MessageBox.Show("登录失败!");
}
如果你在connect中输入信息有误,一般会出现如下错误,此时就需要检查账号密码是否正确
而如果数据库输入错误,会显示这个错误
最后是相关数据库,user_info表的结构,可以在引用完dll文件后后创建这个数据库直接测试该C#窗体文件
另外,在压缩包中还放入了一个简易的具备CRUD功能的学生信息系统,可以在深入学习后使用它进行体验
下为学生信息的表结构,相关信息可以自己输入
链接:https://pan.baidu.com/s/1Yg1aSgiydHQ1bevX5r3QCQ
提取码:xyz3
欢迎分享交流!