我正在运行一个参数化的SQL存储过程,该存储过程运行两个select语句。我想将a分配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];
}
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句