与用普通的SELECT得到记录集绑定到SQLDATAADAPTER的.差不多  Dim DS As DataSet
        Dim MyConnection As SqlConnection
        Dim MyCommand As SqlDataAdapter        MyConnection = New SqlConnection("server=(local)\NetSDK;database=northwind;Trusted_Connection=yes")
        MyCommand = New SqlDataAdapter("Ten Most Expensive Products", MyConnection)        MyCommand.SelectCommand.CommandType = CommandType.StoredProcedure        DS = new DataSet()
        MyCommand.Fill(DS, "产品")        MyDataGrid.DataSource=DS.Tables("产品").DefaultView
        MyDataGrid.DataBind()

解决方案 »

  1.   

    没明白,你的存储过程查处的数据直接付给sqldatareader不就行吗
      

  2.   

    同样是使用sqlCommand就可以了,只要把CommandType属性修改为StroedProcedure就,然后Command的CommandText性属设置为存储过程名称就可以了.
      

  3.   

    就是改变一下CommandType就行了,没什么特别的
      

  4.   

    Dataadapter只是把Command封装了一下而以,Dataadapter不是什么新东西!你去看一下它的对象模型!一却问题搞定!
      

  5.   

    贴主,上面的人都给出了代码,我给思路,照着思路作,这样才能自己掌握。
    首先建立一个SqlConnection 对象实例,绑定数据源,
    SqlConnection myConn = new SqlConnection("你的数据库连接串");
    然后定义一个SqlCommand对象实例,绑定上面的myConn对象
    SqlCommand myComm = new SqlCommand(myConn);下面就是使用存储过程和普通sql命令的不同了,注意看
    定义SqlCommand对象的命令类别为存储过程
    myComm.CommandType=CommandType.StoredProcedure;
    myComm.CommandText = "存储过程名";然后把存储过程的参数加入(如果你的存储过程有参数的话),.net专门有个命令参数的对象SqlParameter,用这个就行了
    SqlParameter par = new SqlParameter("参数名",SqlDbType.参数类型,长度);
    par.Value = 参数值;
    myComm.Parameters.Add(par);
    // 可以加入任意多的参数对象然后就是建立SqlDataAdapter对象了,新建实例要与SqlCommand对象连接起来。
    SqlDataAdapter data = new SqlDataAdapter(myComm);下面就简单了,定义一个DataSet对象,把获得的数据存放起来
    DataSet ds = new DataSet();
    myConn.Open();
    data.Fill(ds,"数据表名");
    myConn.Close();
    然后就可以对ds对象进行操作了。一个简单的例子,SqlServer数据库中有一个名叫Books的表,而且有个名叫sp_GetBookByClass的存储过程,作用是通过输入的书类别ID返回所有符合ID的表。存储过程代码如下:
    CREATE PROCEDURE sp_GetBookByClass
    ( @Class    [int](20))
    AS
      Select From Books Where Books.ClassID = @Class下面是调用的C#代码
    using Data;
    using Data.SqlDataClient;//建立类代码不写了
    SqlConnection myConn = new SqlConnection("数据库连接字符串");
    SqlComman myComm = new SqlCommand(myConn);
    myComm.CommandType = CommandType.StoredProcedure;
    myComm.CommandText = "sp_GetBookByClass";
    SqlParameter pars = new SqlParameter("@Class",SqlDbType.Int,20);
    //你要定义的Class类别参数值,比如是1
    pars.Value = 1;
    myComm.Parameters.Add(pars);
    SqlDataAdapter data = new SqlDataAdapter(myComm);
    DataSet ds = new DataSet();
    //打开连接
    myConn.Open();
    data.Fill(ds,"Book");
    myConn.Close();这时候,这个ds的DataSet实例就是数据库里面Books表里面Class字段为1的所有记录,可以使用了。