[英]Login with 2 different tables from MySql and they have their own different windows form
我想以1個登錄表單登錄數據庫中2個不同的表,每個表都有自己的Windows表單。
我有2個來自MySql的表
他們有自己的窗戶形式
我兩者都只有1個登錄表單,並且它具有“用戶名”文本框和“密碼”文本框以及僅用於登錄的按鈕。
請幫我。 謝謝。 :)
SqlConnection con = new SqlConnection(@"Data Source = ArlineCuachon\SQLEXPRESS; Initial Catalog = CDSS;
Integrated Security = true;");
string query = "SELECT * FROM REGISTRATION WHERE RUsername = '" + UsernameLogin.Text.Trim() + "' AND RPassword = '" + PasswordLogin.Text.Trim() + "'";
SqlDataAdapter sda = new SqlDataAdapter(query, con);
DataTable dtbl = new DataTable();
sda.Fill(dtbl);
if (dtbl.Rows.Count == 1)
{
this.Hide();
HomePagePhysician home = new HomePagePhysician();
home.ShowDialog();
}
else
{
MessageBox.Show("You have entered wrong username or password!");
}
string query = "SELECT * FROM SECRETARY_REGISTRATION WHERE SUsername = '" + UsernameLogin.Text.Trim() + "' AND SPassword = '" + PasswordLogin.Text.Trim() + "'";
SqlDataAdapter sda1 = new SqlDataAdapter(query, con);
DataTable dtbl1 = new DataTable();
sda1.Fill(dtbl1);
if (dtbl1.Rows.Count == 1)
{
this.Hide();
HomePageSecretary home = new HomePageSecretary();
home.ShowDialog();
}
else
{
MessageBox.Show("You have entered wrong username or password!");
}
您無需編寫兩次代碼,可以通過一次調用(如以下查詢)在兩個表中檢入。
SELECT * FROM
(
SELECT Col1,Col2,Col3...ColN, 'Registartion' as TypeOfLogin FROM REGISTRATION
UNION
SELECT Col1,Col2,Col3...ColN, 'Secretary Registration' as TypeOfLogin FROM SECRETARY_REGISTRATION
) T
WHERE T.SUsername = 'UserName' AND T.SPassword ='Somepassword'
為了區分用戶類型,你可以使用列TypeOfLogin
,如果值是Registartion
負載HomePagePhysician
形式的其他負載HomePageSecretary
形式
代碼中還存在其他關鍵問題,例如正在構建動態查詢,理想情況下,您需要使用參數來避免任何SQL注入攻擊。
在此處閱讀有關SQL注入的更多信息
要了解有關如何使用命令參數的信息,可以閱讀以下內容
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.