如何在ASP.NET中使用数据读取器

本文关键字:数据 读取 ASP NET | 更新日期: 2023-09-27 18:27:44

我正在学习为我的程序使用select查询。

这是我的密码。

con.Open();
SqlCommand cmd = new SqlCommand("select id from qw where name='" + TextBox1.Text + "'", con);
SqlDataReader dr = SqlDataReader();
dr = cmd.ExecuteReader();
dr.read();
TextBox2.Text = dr[0].Tostring();
dr.close();
con.Close();

它显示这个错误信息

"System.Data.SqlClient.SqlDataReader"是一个"类型",但使用起来像一个"变量"

如何在ASP.NET中使用数据读取器

这是与上的代码匹配的正确代码

using(SqlConnection con = new SqlConnection(.......))
using(SqlCommand cmd = new SqlCommand("select id from qw where name=@name", con))
{
    con.Open();
    cmd.Parameters.AddWithValue("@name", TextBox1.Text);
    using(SqlDataReader dr = cmd.ExecuteReader())
    {
       if(dr.read())
       {
           TextBox2.Text = dr[0].ToString();
       }
    }
}

事情发生了变化:

  • 对一次性物品使用using语句(因此在不再需要时以及在例外情况)
  • 使用参数化查询而不是字符串串联(读取关于Sql注入)
  • 让读卡器执行您的命令的ExecuteReader方法
  • 检查阅读器是否返回了什么