说白了就是存储语句的问题吧? DataView CreateDataSource()   
{     
string nowDSN=ConfigurationSettings.AppSettings["data"];
    SqlConnection myConnection=new SqlConnection(nowDSN);
    SqlDataAdapter myCommand=new SqlDataAdapter("look6", myConnection);

myCommand.SelectCommand.Parameters.Add(new SqlParameter("@radio", SqlDbType.Char));
myCommand.SelectCommand.Parameters["@radio"].Value = Request.QueryString["radio"];
myCommand.SelectCommand.CommandType=CommandType.StoredProcedure; DataSet ds = new DataSet();   
myCommand.Fill(ds, "qarpt");  
            MyList.DataSource = ds.Tables["qarpt"].DefaultView;
MyList.DataBind(); 
return ds.Tables["qarpt"].DefaultView;    
}   --------------------------------------------------------------------<Columns><asp:BoundColumn ItemStyle-Width="30px" HeaderText="序号" DataField="poseq" runat="server" />
<asp:TemplateColumn HeaderText="采购单号">
              <ItemStyle width="40">
              </ItemStyle>
               <ItemTemplate>
                       <asp:HyperLink Text='<%# FormatString(DataBinder.Eval(Container.DataItem,"pono").ToString())%>' NavigateUrl='<%# "javascript:newwin(\"look4.aspx?pono="+DataBinder.Eval(Container.DataItem,"pono").ToString()+"\");" %>' runat="server"/>
               </ItemTemplate>
</asp:TemplateColumn>
<asp:BoundColumn ItemStyle-Width="300px" HeaderText="料品名称/规格" DataField="specification" runat="server" />
</Columns>-----------------------------------------------------CREATE procedure look6
(
@radio nvarchar(50)=null
)
as
begin
declare 
@sql1 nvarchar(100),
@sql2 nvarchar(100)
set @sql1 = 'select count(*) as co from qarpt where id is not null ' 
set @sql2 = 'select * from qarpt where id is not null ' 
if(@radio is not null)
begin
set @sql1 = @sql1 + ' and radio =''' + @radio + ''''
set @sql2 = @sql2 + ' and radio =''' + @radio + ''''
end 
execute(@sql1)
end
GO