should work, make sure your sql statement or stored procedure does return a recordset, seehttp://msdn.microsoft.com/library/default.asp?url=/library/en-us/dv_vbcode/html/vbtskcodeexampleexecutestoredprocedurethatreturnsvalue.asp

解决方案 »

  1.   

    saucer(思归, MS .NET MVP)
    我有一个listbox,使用的就是这个stored procedure ,而且结果正确,不过仍然感谢答复。
    希望大家能帮我找找问题所在。
      

  2.   

    顺序错了吧。
    将'MyDataGrid.DataSource = sqlr 置后。  'Dim sqlcn As SqlConnection = cn
      'Dim sqlcmd As New SqlCommand()
      'Dim sqlr As SqlDataReader
            
      'sqlcmd.Connection = sqlcn
      'sqlcmd.CommandType = CommandType.StoredProcedure
      'sqlcmd.CommandText = "qry_role_list"
      'sqlcmd.Parameters.Add(New SqlParameter("@roleid", "0"))
      ' sqlcn.Open()
      'sqlr = sqlcmd.ExecuteReader  'MyDataGrid.DataSource = sqlr
      
      MyDataGrid.DataBind()
      'sqlr.Close()
      

  3.   

    问题解决了,datagrid的绑定,sqldatareader与dataview...不同,与sqldatareader绑定时,datagrid.autopage设为false,自己写page代码
      

  4.   

    sqldatareader与datagrid绑定时如果设定为datagrid.allowpaging=true需要icollection,
    现在我只会datagrid.allowpaging=false,但是这样就不能实现分页了,盼高手解决。