C#连接数据库制作简单登录界面

目标:可视化的登录界面,可实现登录,注册,数据源为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();
        }
    }
}
一个简单的登录界面就完成了

猜你喜欢

转载自blog.csdn.net/qq_41398808/article/details/79772653
今日推荐