如何在数据集中设置存储过程选择日期并在 C# 代码中检索它?

How to set storedprocedure selected datas in a dataset and retrive it in a c# code?

我正在尝试 select 通过存储过程从数据库中获取一些批量数据。我已经编写了程序,但我不知道如何在数据集中设置这些结果以及如何在 C# 代码中检索此数据集。我的程序是

ALTER PROCEDURE [dbo].[Leavetypedetails Report](
@code nvarchar(50)
 )
AS
declare @dataset as nvarchar(50)
BEGIN
select EmpCode,LeaveType,FromDate,Todate,Noofleave,Balance,Transfer,cash from LeaveTypeDetails where EmpCode=@code
END

我想在数据集中设置这个结果,并想在我的 C# 代码中检索。我的密码是

 public string leavestatus(string code, DateTime date1, DateTime date2, int month, int year, int dept, string value)
{
  string data = "";
  SqlCommand cmd = new SqlCommand("Leavetypedetails Report");
  cmd.CommandType = CommandType.StoredProcedure;
  cmd.Parameters.Add("@code", SqlDbType.NVarChar).Value = code;
  conn.nonquery(cmd);
  return data;
 }

 protected void view_Click(object sender, Event Args e)
  {
   ??I want to show the rerun data in a grid-view(GridView1)

  }

我知道这是一个冗长的问题,尽管希望得到您的帮助...提前致谢

试试这个

public DataTable leavestatus(string code, DateTime date1, DateTime date2, 
                         int month, int year, int dept, string value)
{
  string data = "";
  DataSet dstData = new DataSet("Data");
  SQLDataAdapter adpData;
  adpData = new SQLDataAdapter("Leavetypedetails Report", conn);
  adpData.SelectCommand.Parameters.Add("@code", SqlDbType.NVarChar).value = code;
  adpData.SelectCommand.CommandType = CommandType.StoredProcedure;
  adpData.Fill(dstData); 
  return dstData.tables[0];
 }

 protected void view_Click(object sender, Event Args e)
  {
        Grid.Datasource = leavestatus(.....);
        Grid.DataBind();
  }
    public void bindgrid()
    {

        SqlConnection con = new SqlConnection(connStr);
        SqlDataAdapter adapter = new SqlDataAdapter();
        DataSet ds = new DataSet();
        con.Open();
        SqlCommand cmd = new SqlCommand(connStr, con);
        cmd.CommandType = CommandType.StoredProcedure;
        cmd.CommandText = "your sp";

        cmd.ExecuteNonQuery();
        adapter = new SqlDataAdapter(cmd);
        adapter.Fill(ds);
        Session["datasource"] = ds; // In case u want to store ur dataset in session and use it anywhere further
        Gridview1.DataSource = ds.Tables[0];
        Gridview1.DataBind();
    }