我想检查给定的记录是否在数据库中

我想检查给定的记录是否在数据库中

我想检查给定的记录是否在数据库中。显示错误“列名无效”

 private void SaveButton_Click(object sender, EventArgs e)
    {
        SqlConnection conn = new SqlConnection("Data Source=PC308433;Initial Catalog=SampleDatabase;Persist Security Info=True;User ID=sa;Password=adm23");

        conn.Open();

        SqlCommand sc = new SqlCommand("select USERNAME from QuizTable where USERNAME=" + UserNameTextbox.Text + "", conn);
        string result =Convert.ToString(sc.ExecuteNonQuery());//I dont know to store the result of query here.Pls help me
        if (result == UserNameTextbox.Text)
            MessageBox.Show("Welcome");
        else
            MessageBox.Show("Please register");

        conn.Close();


    }

最佳答案

您必须对它使用ExecuteReader()ExecuteNonQuery()仅用于insert、update和delete语句,并使用contractor,它使用CommandBehaviourenum和SingleRow,因为每个用户名应有一行:

SqlDataReader rdr = sc.ExecuteReader(CommandBehavior.SingleRow);
if(rdr.Read() && (rdr["USERNAME"].ToString() == UserNameTextbox.Text))
            MessageBox.Show("Welcome");
}

旁注:
您应该使用parameterized queries,目前您已打开sql injection

关于c# - 我想检查给定的记录是否在数据库中,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/31578700/

10-11 06:33