protected void Page_Load(object sender, EventArgs e)
    {
        SqlConnection FConnection;
        SqlCommand FCommand;
        SqlDataReader FDataReader;
        String FConnString;
        String FQueryString;        FConnString = "Server=(Local);Database=CMS;Uid=sa;Pwd=;";
        FConnection = new SqlConnection(FConnString);
        FConnection.Open();        FQueryString = "Select Article_title,Article_content From t_article Where Article_title=@Article_title";//+ Request.QueryString["Article_title"];
        SqlParameter Article_title = new SqlParameter("@Article_title", SqlDbType.VarChar,500);
        FCommand = new SqlCommand(FQueryString,FConnection);
        Article_title.Value = Request.QueryString["Article_title"];
        FCommand.Parameters.Add(Article_title);
        FDataReader = FCommand.ExecuteReader();        while (FDataReader.Read())
        {
            Response.Write(FDataReader["Article_content"]);
        }
    }-------------------------------------------------
报错:
异常详细信息: System.Data.SqlClient.SqlException: 被准备语句 '(@Article_title varchar(500))Select Article_title,Article_conten' 需要参数 @Article_title,但未提供该参数。源错误: 
行 30:         Article_title.Value = Request.QueryString["Article_title"];
行 31:         FCommand.Parameters.Add(Article_title);
行 32:         FDataReader = FCommand.ExecuteReader();
行 33: 
行 34:         while (FDataReader.Read())
 
---------------
我明明把参数追回进去了.为什么说没有提供参数呢.谢谢!

解决方案 »

  1.   

    FCommand.ExecuteReader();没有参数FCommand.ExecuteReader(CommandBehavior.CloseConnection);
      

  2.   

    FCommand = new SqlCommand(FQueryString,FConnection);
    SqlParameter Article_title = new SqlParameter("@Article_title",SqlDbType.VarChar);
    Article_title.Value = Request.QueryString["Article_title"];
    FCommand.Parameters.Add(Article_title);
      

  3.   

    FQueryString = "Select Article_title,Article_content From t_article Where Article_title=@Article_title";//+ Request.QueryString["Article_title"];
    FCommand = new SqlCommand(FQueryString,FConnection);
    FCommand.Parameters.Add("@Article_title", SqlDbType.VarChar,500).Value= Request.QueryString["Article_title"];
    FDataReader = FCommand.ExecuteReader();
    while (FDataReader.Read())
    {
     Response.Write(FDataReader["Article_content"]);
    }