我在.net2008(C#),做了一张报表,调用存储过程,要把参数传到存储过程里,但是按照正常步骤做了,结果出不来.
1.在sqlserver2000里,建立一个数据库表,如下
PID varchar(100),
PName varchar(100),
PQty int,
PPrice money
表名:Test
2.再建立一个存储过程:
CREATE PROCEDURE procTest
@condition varchar(1000)
AS
DECLARE @sql varchar(8000)
SET @sql = 'SELECT PID, PName, PQty FROM Test '
IF @condition <> ''
   SET @sql = @sql + @condition
EXEC(@sql)3.在.net2008下,新建一个网站,默认产生了一个Default.aspx文件,添加一个数据集文件,DataSet1.xsd,添加TableAdapter,按照步骤,选择存储过程名称:procTest.
4.添加一个报表文件,Report.rdlc,将数据集里的三个拖到report.rdlc里。
5.进到Default.aspx,添加报表控件到页面里,点控件右上角的按钮,选中这个报表.
6.添件一个TextBox和Button控件到页面里.
7.在Button单击的事件里添加如下代码:
protected void Button1_Click(object sender, EventArgs e)
    {
        string condition = "";
        if (TextBox1.Text.Trim() != "")
        {
             condition = "PID = '" + TextBox1.Text.Trim() + "'";
        }//清除数据源原参数
        ObjectDataSource1.SelectParameters.Clear();
//增加数据源参数
        ObjectDataSource1.SelectParameters.Add("condition", condition);
//让ReportView重新加载数据源
        ReportViewer1.LocalReport.Refresh();
    }
网页运行,页面上提示:文本错误信息:处理报表时出错。
ObjectDataSource“ObjectDataSource1”未能找到不带参数的非泛型方法“GetData”。 
在文本框里输入一个PID信息,1,点按钮查询,什么结果没有.
请问这是为什么?