您的位置:首页 > 数据库

C#_连接数据库实现 登录注册界面

2017-04-24 20:21 761 查看
[b]//编写登录界面逻辑
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;
using System.Data.SqlClient;

namespace LoginDatabase
{
public partial class Login : Form
{
private int errorTime = 3;

public Login() {
InitializeComponent();
}

private void loginBtn_Click(object sender, EventArgs e) {
errorTime = errorTime - 1;

string username = txtName.Text.Trim();  //取出账号
string pw = txtPwd.Text.Trim();         //取出密码
string constr = "Server=.;DataBase=SU; Integrated Security=True"; //设置连接字符串
SqlConnection mycon = new SqlConnection(constr);  //实例化连接对象
mycon.Open();

SqlCommand mycom = mycon.CreateCommand();         //创建SQL命令执行对象
string s1 = "select account,password from register where account='" + username + "' and password='" + pw + "'";                                            //编写SQL命令
mycom.CommandText = s1;                           //执行SQL命令
SqlDataAdapter myDA = new SqlDataAdapter();       //实例化数据适配器
myDA.SelectCommand = mycom;                       //让适配器执行SELECT命令
DataSet myDS = new DataSet();                     //实例化结果数据集
int n = myDA.Fill(myDS, "register");              //将结果放入数据适配器,返回元祖个数
if (n != 0) {
if (checkCode.Text == textCheck.Text) {
MessageBox.Show("欢迎使用!");             //登录成功
this.Close();
} else {
MessageBox.Show("验证码填写错误");
textCheck.Text = "";
}
} else
if (errorTime < 3) {
MessageBox.Show("用户名或密码有错。请重新输入!还有" + errorTime.ToString() + "次机会");
txtName.Text = "";   //清空账号
txtPwd.Text = "";    //清空密码?
txtName.Focus();     //光标设置在账号上
} else {
MessageBox.Show("你输入的用户名或密码已达三次? 将退出程序");
this.Close();
}

}

private void cancelBtn_Click(object sender, EventArgs e) {
Application.Exit();
}

private void button1_Click(object sender, EventArgs e) {
Register register = new Register();
register.ShowDialog();
}

private void checkCode_Click(object sender, EventArgs e) {
Random random = new Random();
int minV = 12345, maxV = 98765;
checkCode.Text = random.Next(minV, maxV).ToString();
}
}
}

5.编写注册界面逻辑
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Data.SqlClient;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Threading;
using System.Threading.Tasks;
using System.Windows.Forms;

namespace LoginDatabase
{
public partial class Register : Form
{
public Register() {
InitializeComponent();
}

private void btnRegister_Click(object sender, EventArgs e) {

//检查是否已经存在
string userID = userId.Text.Trim();  //取出账号

/**
* 连接数据库
*/
string constr = "Server=.;DataBase=SU; Integrated Security=True"; //设置连接字符串
SqlConnection mycon = new SqlConnection(constr);                  //实例化连接对象
mycon.Open();

//查询新注册的用户是否存在
SqlCommand checkCmd = mycon.CreateCommand();       //创建SQL命令执行对象
string s = "select account from register where account='" + userID + "'";
checkCmd.CommandText = s;
SqlDataAdapter check = new SqlDataAdapter();       //实例化数据适配器
check.SelectCommand = checkCmd;                    //让适配器执行SELECT命令
DataSet checkData = new DataSet();                 //实例化结果数据集
int n = check.Fill(checkData, "register");         //将结果放入数据适配器,返回元祖个数
if (n != 0) {
MessageBox.Show("用户名存在");
userId.Text = ""; userPw.Text = "";
nickName.Text = "";
}

//确认密码
if (ensurePw.Text != userPw.Text) {
ensurePw.Text = "";
}

//验证码
if (textCheck.Text != checkCode.Text) {
textCheck.Text = "";
}

//插入数据SQL  逻辑
string s1 = "insert into Register(account,password,nickname) values ('" + userId.Text + "','" + userPw.Text + "','"
+ nickName.Text + "')";                            //编写SQL命令
SqlCommand mycom = new SqlCommand(s1, mycon);          //初始化命令
mycom.ExecuteNonQuery();             //执行语句
mycon.Close();                       //关闭连接
mycom = null;
mycon.Dispose();                     //释放对象

if (userId.Text == "" || userPw.TextLength <= 6 || nickName.Text == "" || ensurePw.Text == ""
|| textCheck.Text == "") {
MessageBox.Show("请将信息填完整");
} else {
MessageBox.Show("注册成功");
this.Close();
}
}

private void checkCode_Click(object sender, EventArgs e) {
Random random = new Random();
int minV = 12345, maxV = 98765;
checkCode.Text = random.Next(minV, maxV).ToString();
}
}

[/b]








内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: