如何使用 asp.net、c#、adonet 检查用户在两个文本字段上输入的数据是否正确

本文关键字:字段 文本 两个 输入 数据 是否 net asp 何使用 adonet 检查 | 更新日期: 2023-09-27 18:36:44

我有两个文本字段emplastname和empnumber。我想从用户那里获取值。并检查数据库值。如果匹配..重定向至下一页。否则阻止他。

我试过这个

protected void btn_Submit_Click(object sender, EventArgs e)
        {
            if(String.IsNullOrEmpty(txt_LastName.Text) && (String.IsNullOrEmpty(txt_EmployeeNumber.Text))) 
            {
            //Response.Redirect("~/default.aspx");
            string connectionString = "Data Source=;initial catalog= ; User ID=sa;Password=;Integrated Security=true;";
             string query = "select n.LastName, u.EmployeeNumber from  .[dbo].[EPCN_Users] u join  [dbo]. [EmployeeNames] n on n.UserID = u.ID where n.LastName = @lastName and u.EmployeeNumber = @employeeNumber "; 
           // create connection and command
        using(SqlConnection cn = new SqlConnection(connectionString))
      using(SqlCommand cmd = new SqlCommand(query, cn))
       {
        // define parameters and their values
        cmd.Parameters.Add("@Lastname", SqlDbType.VarChar, 50).Value = txt
        cmd.Parameters.Add("@EmployeeNumber", SqlDbType.VarChar, 50).Value = employeeNumber;

        cn.Open();
        cmd.ExecuteNonQuery();
        cn.Close();

我们如何才能更好、更有效地做到这一点?

如何使用 asp.net、c#、adonet 检查用户在两个文本字段上输入的数据是否正确

首先选择记录使用ExecuteReader,像这样:

using(SqlConnection cn = new SqlConnection(connectionString))
{
   using(SqlCommand cmd = new SqlCommand(query, cn))
   {
     // define parameters and their values
     cmd.Parameters.Add("@Lastname", SqlDbType.VarChar, 50).Value = txt
     cmd.Parameters.Add("@EmployeeNumber", SqlDbType.VarChar, 50).Value =employeeNumber;
     SqlDataReader reader = null;
     reader = cmd.ExecuteNonQuery();
     DataTable table = new DataTable();
     table.Load(reader);
      if (!reader.IsClosed)
      {
         reader.Close();
      }
      if (table.Rows.Count > 0)
      {
         // redirect 
      }
      else { //error message}
   }
}