我想从数据库中登录两个不同的表,每个表都有自己的windows表单。
我有两张来自MySql的桌子
他们有自己的窗口
我只有一个登录表单为两个,它有用户名文本框和密码文本框和按钮的登录仅。
请帮帮我。谢谢。:)
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!");
}发布于 2018-05-08 06:01:30
您不需要编写两次代码,您可以使用一个调用(如下面的查询)签入两个表。
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 load HomePagePhysician form of HomePageSecretary窗体
代码中还有其他关键问题,比如构建动态查询,理想情况下,您需要使用参数来避免任何SQL注入攻击。
了解有关SQL注入这里的更多信息。
要了解如何使用命令参数,可以读取这
https://stackoverflow.com/questions/50226731
复制相似问题