加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

c# – SQL语法问题

发布时间:2020-12-15 23:32:48 所属栏目:百科 来源:网络整理
导读:这是我的代码..我试图让它来验证数据库. pass / user = Admin {/// summary/// Interaction logic for MainWindow.xaml/// /summarypublic partial class MainWindow : Window{ public MainWindow() { InitializeComponent(); } private void main_B_Signup_
这是我的代码..我试图让它来验证数据库.

pass / user = Admin

{
/// <summary>
/// Interaction logic for MainWindow.xaml
/// </summary>
public partial class MainWindow : Window
{
    public MainWindow()
    {
        InitializeComponent();
    }

    private void main_B_Signup_Click(object sender,RoutedEventArgs e)
    {
        RegWindow rWindow = new RegWindow();
        rWindow.Show();
        this.Close();
    }

    private void main_B_login_Click(object sender,RoutedEventArgs e)
    {
        //connect to the database
        SqlConnection loginConn = new SqlConnection("server=localhost;"+ "Trusted_Connection=yes;" + "database=Production; " + "connection timeout=30");

        SqlCommand cmd = new SqlCommand("Select *from User where Username=' " + this.Main_T_Username.Text + " ' and Password=' " + this.Main_T_Password.Text + " ' ;",loginConn);
        //SqlCommand cmd = new SqlCommand("Select *from User where Username='@Username' and Password='@Password';",loginConn);
        //cmd.Parameters.Add(new SqlParameter("Username",this.Main_T_Username.Text));
        //cmd.Parameters.Add(new SqlParameter("Password",this.Main_T_Password.Text));

        loginConn.Open();
        SqlDataReader rdr = cmd.ExecuteReader();
        string username = null;

            if (rdr.HasRows)
            {
                while (rdr.Read())
                {
                    username = rdr["Username"].ToString();
                }

                loginConn.Close();

                MessageBox.Show("Well done!");

            }
            else
            {
                MessageBox.Show("WrongPass!");
                loginConn.Close();
            }

        }
    }
}

但我得到的错误是

Incorrect syntax near the keyword ‘User’

但该表称为用户,并且有用户名和密码列

Pic Of Database

解决方法

“用户”是SQL Server中的 reserved word.要将其用作架构对象的标识符,请使用方括号将其括起来:

SELECT * FROM [User]

无论如何,使用模式对象标识符执行此操作通常是一种好习惯.它使它们在查询中更明确.

此外,您是:

>将用户输入直接连接为可执行代码,这是一个SQL注入漏洞.请改用查询参数.>将用户密码存储为纯文本,这对用户来说是非常不负责任的.用户密码应该用单向散列来模糊,并且永远不应该是可检索的.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读