有陷阱,如何登录?

erw*_*oza 0 c# sql-server login

private void d_Load(object sender, EventArgs e)
    {

        string connstring = @"Data Source=.\SQLEXPRESS;AttachDbFilename=|DataDirectory|\it155.mdf;Integrated Security=True;Connect Timeout=30;User Instance=True";
        SqlConnection conn = new SqlConnection(connstring);
        try
        {
            conn.Open();

            string snumber = txtSnumber.Text;
            SqlCommand get = new SqlCommand(@"Select from IStudent where SNumber ='" + txtSnumber.Text + "'", conn);

        }
        catch (Exception)
        {

        }
    }
Run Code Online (Sandbox Code Playgroud)

鉴于上面编写的代码的开始,我打算做的是能够使用sql数据库中的id号数据类型varchar(11)登录,该数据库将被输入到txtSnumber中,但除此之外我无法弄清楚如何检查输入的id号是否正确,如果正确,则该id号码对应的信息应该显示在相应的文本框中.请帮帮我,谢谢

Ica*_*rus 5

您的sql语句很容易出现SQL注入.像这样连接SQL是一种可怕的做法.而是做这样的事情:

string snumber = txtSnumber.Text;
SqlCommand get = new SqlCommand(@"Select from IStudent where SNumber =@User", conn);

get.Parameters.AddWithValue("@User",snumber);
Run Code Online (Sandbox Code Playgroud)

现在,为了检查是否找到了记录,请执行以下操作:

using(IDataReader reader =  get.ExecuteReader())
{
       if (reader.HasRows)
       {
          //information correct. Do something
       }
}
Run Code Online (Sandbox Code Playgroud)