1. 程式人生 > >C#連線資料庫製作簡單登入介面

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();
        }
    }
}
一個簡單的登入介面就完成了