簡體   English   中英

迭代數據集表

[英]Iterating DataSet Tables

我正在運行一個運行兩個選擇語句的參數化 SQL 存儲過程。 我想為返回的結果分配一個DataSet()以便於處理。 但是,在我的語法中,我得到了一個錯誤

無法將類型“System.Data.DataTable”隱式轉換為“System.Data.DataSet”

有人可以告訴我如何在這里做我想做的事嗎? -- 而不是將其稱為ds.Tables[0]; 我想關聯一個有意義的名字。

public DataSet RunOneStoredProc()
{
    DataSet dataset = new DataSet();
    using (var conn = new SqlConnection(SQLCon))
    {
        var cmd = new SqlCommand("GetTeachersStudents", conn);
        cmd.Parameters.Add("@yearstart", SqlDbType.Date, 100);
        cmd.Parameters.Add("@yearend", SqlDbType.Date, 100);
        cmd.Parameters["@yearstart"].Value = dtpStartDate.Value.ToString("MM/dd/yyyy");
        cmd.Parameters["@yearend"].Value = dtpEndDate.Value.ToString("MM/dd/yyyy");
        cmd.CommandType = CommandType.StoredProcedure;
        var ds = new DataSet();
        using (var da = new SqlDataAdapter(cmd))
            da.Fill(ds);
        return dataset;
    }
}

private void btnPush_Click(object sender, EventArgs e)
{
    DataSet ds = new DataSet();
    DataSet teachers = new DataSet();
    DataSet students = new DataSet();
    ds = RunOneStoredProc();
    teachers = ds.Tables[0];
    students = ds.Tables[1];

}   

嘗試這個。 您還將創建DataSet ds的新實例。 由於RunOneStoredProc()返回一個新實例,因此沒有必要。

private void btnPush_Click(object sender, EventArgs e)
    {
        DataSet ds = RunOneStoredProc();
        DataTable teachers = ds.Tables[0];
        DataTable students = ds.Tables[1];

    }   

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM