最近在使用WinForm的时候,打算做一个完美的登录系统。正好上到假期,我通过3天的时间,将网上的内容尝试了一边,最后通过每天的结合和探索,总结出来了下面的方法。
准备任务:
1.在MySQL官方网站下载MySQL的安装包。我这里使用的是MySQL8.0 大家可以在这里下载:
https://dev.mysql.com/downloads/mysql/https://dev.mysql.com/downloads/mysql/,安装步骤见(2条消息) Mysql安装教程(win10,64位)_Lisa_LJJ的博客-CSDN博客https://blog.csdn.net/Lisa_LJJ/article/details/93720163
2.我这里使用的是Navicat Premium 16连接MySQL. Navicat Premium 16的下载方式:Navicat | 下载 Navicat Premium 14 天免费 Windows、macOS 和 Linux 的试用版https://navicat.com.cn/download/navicat-premium
3.Visual Studio 2019 下载 Visual Studio Tools - 免费安装 Windows、Mac、Linux (microsoft.com)https://visualstudio.microsoft.com/zh-hans/downloads/
二,开始
1.在Visual Studio中创建WinForm窗体。
2.待WinForm项目载入完成后,右键项目,然后管理NuGet程序包。
3.在NuGet程序包中,点击浏览,输入MySQL字样,等待查找完成。点击安装到你的项目中。
小提示:这个地方,我刚开始创建项目用的是.NET Framework 4.0往下,因此我选择了最旧的版本,但是这样我这边使用MySql.Data这个插件的时候总是出现问题。我目前项目是用的.NET Framework 4.7 安装MySql.Data 8.0.29版本是没有问题的,使用方面基本没问题。
4.安装完成后,我们可以进入下一步。(到这里基本是没有问题的吧)
二·一:
1.安装完成MySql.Data后,我们在Form1中放置下面几个工具。
①TextBox ②Label ③Button如图所示:
密码后面的TextBox:txtPassword
我目前就命名了这两个。下面,我们进入编写。
== 前提:引用 using MySql.Data.MySqlClient; ==(这里非常重要)
双击”登录“按钮,进入编写。
这里各位可以参考上面发的连个连接。我也是根据他的顺利做出来的。
private void button2_Click(object sender, EventArgs e)
{
string userName = this.txtUserName.Text;
string userPassword = this.txtPassword.Text;
if (userName.Equals("") || userPassword.Equals(""))
{
MessageBox.Show("用户名或密码不能为空!");
}
else
{
//这里是你的MySQL信息
string strcon = "server=localhost;database=demo;uid=用户名;pwd=密码;";
MySqlConnection con = new MySqlConnection(strcon);
try
{
con.Open();
string sqlSel = "select count(*) from demo.user where userName = '" + userName + "' and password = '" + userPassword + "'";
MySqlCommand com = new MySqlCommand(sqlSel, con);
if (Convert.ToInt32(com.ExecuteScalar()) > 0)
{
MessageBox.Show("成功!");
this.DialogResult = DialogResult.OK;
this.Dispose();
this.Close();
}
else
{
MessageBox.Show("用户名或密码错误!");
}
}
catch (Exception ex)
{
MessageBox.Show(ex.Message.ToString() + "打开数据库失败");
}
}
}
这里是我参考(2条消息) C#连接mysql数据库实现登陆注册界面【小白教程之代码注释篇】_Syvlia005的博客-CSDN博客 制作的。各位要注意的有: ①你的MySQL信息必须填写充分;②MySQL语句语法;
③ string sqlSel = "select count(*) from demo.user where userName = '" + userName + "' and password = '" + userPassword + "'"; 这个是select count(*),demo.user是我MySQL的信息。这里,demo是数据库名,user是这个demo数据库中表的名称。
二·二:通过Navicat Premium 16连接MySql
下载好Navicat Premium 16,如图点击连接——MySQL
这里输入你的MySQL信息。
连接好后,我们可以开始工作:
1.右键连接好的MySQL,点击新建数据库,我这里以demo为标准,字符集选择utf8
2.右键demo中的表,新建。然后在弹出来的框中输入:
name,varchar,20, ,不是null(打勾)
password,varchar,20, ,不是null(打勾)
然后保存表名为user.进入表user中。
在name栏可以随便输入一些内容,PASSWORD中也输入一些随便的东西。我这里,name以EEE为主,password以123456为主。记得保存。Navicat Premium 16操作台下有个点击可以新建。
这里创建完成,再返回上面的代码编写工作中。最后我的测试结果是:
祝各位顺利完成!