首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >使用来自MySql的两个不同的表登录,它们有各自不同的windows窗体

使用来自MySql的两个不同的表登录,它们有各自不同的windows窗体
EN

Stack Overflow用户
提问于 2018-05-08 05:53:49
回答 1查看 45关注 0票数 0

我想从数据库中登录两个不同的表,每个表都有自己的windows表单。

我有两张来自MySql的桌子

  • SECRETARY_REGISTRATION
  • 注册

他们有自己的窗口

  • SECRETARY_REGISTRATION有HomePageSecretary
  • 注册有HomePagePhysician

我只有一个登录表单为两个,它有用户名文本框和密码文本框和按钮的登录仅。

请帮帮我。谢谢。:)

代码语言:javascript
复制
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!");

        }
EN

回答 1

Stack Overflow用户

发布于 2018-05-08 06:01:30

您不需要编写两次代码,您可以使用一个调用(如下面的查询)签入两个表。

代码语言:javascript
复制
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注入这里的更多信息。

要了解如何使用命令参数,可以读取

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/50226731

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档