[英]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.