none
求助:关于使用带参数CommandText对SqlDataReader的影响 RRS feed

  • 问题

  • 今天用ADO.NET时碰到个问题,执行如下代码后,sdr.HasRows总是false,此时,cmd.Parameters["@name"]的值是正确的,数据库中也确实存在符合条件的记录,当我把name的值直接写入SQL中而不采用参数的方式时,sdr.HasRows就是正确的true。
    请教各位这是什么原因,如何解决?谢谢。
    SqlConnection conn = new SqlConnection(ConfigurationManager.ConnectionStrings["newdbconnstr"].ConnectionString);
            SqlCommand cmd = new SqlCommand("SELECT Pwd FROM [User] WHERE UID='@name'", conn);
            cmd.Parameters.Add(new SqlParameter("@name", SqlDbType.NVarChar, 50));
            cmd.Parameters["@name"].Value = name;
            conn.Open();
            SqlDataReader sdr = cmd.ExecuteReader();
    2009年11月21日 10:55

答案