c# mysql登录界面_C#连接mysql数据库实现登陆注册界面

这篇博客介绍了如何在C#环境下配置MySQL数据库,通过VS2017添加引用,建立数据库连接,并实现登录与注册功能。文章还涵盖了多窗口控制及密码框设置,提供了一种在关闭登录窗口后打开注册窗口的方法。
摘要由CSDN通过智能技术生成

环境:Mysql 5.7.28 + VS2017

一、配置并测试Mysql数据库

1. 安装mysql

去mysql官网下载安装,可见安装教程

2.  在VS中添加引用

项目-->添加引用

0f126bfe25016bf4765f4f5e5632b222.png

选择“浏览”-->找到mysql安装文件夹中的MySql.Data.dll

3649196d75ac622aa9ba71136be47595.png

3. 测试

添加 添加using MySql.Data.MySqlClient

usingMySql.Data.MySqlClient;

String connetStr= "server=localhost;port=3306;user=root;password=root; database=mydb;";//server=127.0.0.1/localhost 代表本机,端口号port默认是3306可以不写

MySqlConnection conn = newMySqlConnection(connetStr);try{

conn.Open();//建立连接,可能出现异常,使用try catch语句

Console.WriteLine("已经建立连接");//在这里可以使用代码对数据库进行增删查改的操作

}catch(MySqlException ex)

{

Console.WriteLine(ex.Message);//有错则报出错误

}finally{

conn.Close();//关闭通道

}

二、创建数据库

mysql> create table user(-> id int primary key,-> user varchar(50) not null,-> pass varchar(50) not null

-> );

设置主键自增

mysql> alter table user modify id int auto_increment;

三、登陆与注册功能

//登陆

private void button1_Click(objectsender, EventArgs e)

{

String username, password;

username=textBox1.Text;

password=textBox2.Text;

String connetStr= "server=localhost;port=3306;user=root;password=123456; database=login;";

MySqlConnection conn= newMySqlConnection(connetStr);

conn.Open();

String sql= "select user,pass from user where user=‘" + username + "‘and pass=‘" + password + "‘";//SQL语句实现表数据的读取

MySqlCommand cmd = newMySqlCommand(sql, conn);

MySqlDataReader sqlDataReader=cmd.ExecuteReader();if (sqlDataReader.HasRows) //如果能查到,说明该用户密码存在

{//MessageBox.Show("登陆成功");

closeflag= true;this.Close();

}else{

MessageBox.Show("账号或密码错误或未注册");

}

conn.Close();

}//注册

private void button2_Click(objectsender, EventArgs e)

{

String username, password;

username=textBox1.Text;

password=textBox2.Text;

String connetStr= "server=localhost;port=3306;user=root;password=123456; database=login;";

MySqlConnection conn= newMySqlConnection(connetStr);

conn.Open();

String sql= "INSERT INTO user(user,pass) VALUES(‘" + username + "‘,‘" + password + "‘)"; //没有判断重复插入

MySqlCommand cmd = newMySqlCommand(sql, conn);

cmd.ExecuteNonQuery();

MessageBox.Show("注册成功");

conn.Close();

}

四、多窗口控制

简单点的:如何关闭一个窗口,同时打开另一个窗口?

在.net的WinForm程序中,如果是直接起动的Form作为主窗口,那么这个主窗口是不能关闭的,因为它维护了一个Windows消息循环,

它一旦关闭了就等于声明整个应用程序结束,所以新打开的窗口也就被自动关闭了。因此要关闭的窗口不能用Application.Run创建。

如何使用Hide()(只是隐藏,其实进程还被占用着)之类或者Close()(这个操作会把所有窗体关闭,因为属于同一个线程)是达不到我们需要的效果的。

要在关闭一个窗口的同时打开另一个窗口,可以按如下做法:

先在第一个窗口声明一个公共的bool变量并赋值为true:

如public bool closeflag = true;

在program类里运行第二个窗口,主要代码:

Application.EnableVisualStyles();

Application.SetCompatibleTextRenderingDefault(false);//Application.Run(new Form1());

Form1 form1 = newForm1();

form1.ShowDialog();if(form1.closeflag == true)

{

Application.Run(newForm2());

}

然后在Form1的关闭的相关控件(如按钮或什么的,就是要关闭这个窗口的控件)  将closeflag赋值为true,并调用this.close();关闭第一个窗口。

五、其他

如何设置密码框?

设置textBox的属性,将PasswordChar中写入*即可。

参考链接:

原文:https://www.cnblogs.com/lfri/p/13034357.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值