【发布时间】:2017-02-10 13:54:56
【问题描述】:
我正在运行一个运行两个选择语句的参数化 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];
}
【问题讨论】: