你使用SqlCommand.ExecuteReader函数运行这个存储过程,返回值就是一个DataReader,然后就可以直接通过DataGrid.DataSource属性绑定到这个返回的DataReader.
要不用DataReader.Read()函数将数据读出来再写到DataSet里面

解决方案 »

  1.   

    SqlDataAdapter queryNameDataAdapter = new SqlDataAdapter("queryName",queryConnection);
    queryNameDataAdapter.SelectCommand.CommandType = CommandType.StoredProcedure; SqlParameter paramMedicineName = new SqlParameter("@medicineName",SqlDbType.VarChar,30);
    paramMedicineName.Value = txtMedicineName.Text;
    queryNameDataAdapter.SelectCommand.Parameters.Add(paramMedicineName); queryNameDataAdapter.Fill(queryNameDataSet , "medicine");
                    
    grdQuery.DataSource = queryNameDataSet;
    //grdQuery :  dataGrid