目标:可视化的登录界面,可实现登录,注册,数据源为SQL server数据库,实现数据库表格内容的读取,写入
C#集成开发环境为visual studio2017
数据库为SQL server数据库
登录界面最终效果如下图:
注册界面最终效果如下图:
添加按钮事件响应之前,先连接数据库
首先在SQL server中新建一个库,以及一个表,SQL语句如下
CREATE DATABASE DENGLU;
CREATE TABLE PEOPLE
(
SID CHAR(10) PRIMARY KEY,
SKEY CHAR(16)
);
我先在数据库中写入一个用户,SQL语句如下
INSERT INTO PEOPLE(SID,SKEY) VALUES ('BTboay','123456');
SELECT * FROM PEOPLE
之后在visual studio中添加新数据源
选择数据库然后直接下一步
选择数据集(反正我只有一个选项),然后下一步
选择新建连接
选择数据源和服务器,输入数据库名称,选择好后可以测试连接,测试成功后点确定
直接下一步(这里保存一下应用程序的连接字符串,也就是下面那一长串字符)
下一步就好
之后选择希望包含的数据库对象(这里只用到了表),之后就可连接了
数据库连接成功,登录界面窗体组件添加好后,为按钮添加事件响应(登录:button2,注册:button1)
代码如下:
private void button2_Click(object sender, EventArgs e)
{
String username, password;
username = textBox1.Text;
password = textBox2.Text;
String myconn = @"Data Source=LAPTOP-41U2RG9N\BTBOAY;Initial Catalog=ZH;Integrated Security=True";//数据库实例连接字符串
SqlConnection sqlConnection = new SqlConnection(myconn);//新建数据库连接实例
sqlConnection.Open();//打开数据库连接
String sql = "select SID,Skey from Name where SID='" + username + "'and Skey='" + password + "'";//SQL语句实现表数据的读取
SqlCommand sqlCommand = new SqlCommand(sql, sqlConnection);
SqlDataReader sqlDataReader = sqlCommand.ExecuteReader();
if (sqlDataReader.HasRows)//满足用户名与密码一致,进入下一个界面
{
Form3 form3 = new Form3();
form3.Show();
this.Hide();
}
else//如果登录失败,询问是否注册新用户
{
DialogResult dr=MessageBox.Show("是否注册新用户?","登录失败",MessageBoxButtons.YesNo,MessageBoxIcon.Question);
if (dr==DialogResult.Yes)//打开注册界面
{
Form2 form2 = new Form2();
form2.Show();
this.Hide();
}
else
{
this.Show();
}
}
}
private void button1_Click(object sender, EventArgs e)
{
Form2 form2 = new Form2();
form2.Show();
this.Hide();
}
}
}
登录界面代码如下(确定:button1,返回登录:button2):
private void button1_Click(object sender, EventArgs e)
{
String username, password,repassword;
username = textBox1.Text;
password = textBox2.Text;
repassword = textBox3.Text;
if (password==repassword)//两次输入的密码一致
{
string myConn = @"Data Source=LAPTOP-41U2RG9N\BTBOAY;Initial Catalog=ZH;Integrated Security=True";
SqlConnection sqlConnection = new SqlConnection(myConn); //实例化连接对象
sqlConnection.Open();
String sql = "INSERT INTO Name(SID,Skey) VALUES('" + username + "','" + password + "')";//SQL语句向表中写入数据
SqlCommand sqlCommand = new SqlCommand(sql, sqlConnection);
sqlCommand.ExecuteNonQuery();
MessageBox.Show("注册成功");
}
else
{
MessageBox.Show("密码不一致");
}
}
private void button2_Click(object sender, EventArgs e)//返回登录界面
{
this.Close();
Form1 form = new Form1();
form.Show();
}
}
}
一个简单的登录界面就完成了