我只是在学习使用Parallel.Invoke()
并试图将注意力集中在返回多个DataSets()
例如,让我们采用下面的示例语法 - 我如何为我需要返回ExecuteSqlQuery()
的 3 个中的每一个使用该方法?DataSets()
protected void Page_Load(object sender, EventArgs e)
{
if (!IsPostBack)
{
Parallel.Invoke(
new Action(GetFirstGraders),
new Action(GetSecondGraders),
new Action(GetThirdGraders)
);
}
}
private void GetFirstGraders()
{
datasetttt1stgrade = FirstGraders();
gv1.DataSource = datasetttt1stgrade;
gv1.DataBind();
}
private void GetSecondGraders()
{
datasetttt2ndgrade = SecondGraders();
gv2.DataSource = datasetttt2ndgrade;
gv2.DataBind();
}
private void GetThirdGraders()
{
datasetttt3rdgrade = ThirdGraders();
gv3.DataSource = datasetttt3rdgrade;
gv3.DataBind();
}
public DataSet FirstGraders()
{
datasetttt = new DataSet();
SqlQueryBuilder = new StringBuilder();
SqlQueryBuilder.Append("exec FirstGraders ");
datasetttt = ExecuteSqlQuery(databaseConnection, SqlQueryBuilder.ToString());
datagridInfo.DataSource = datasetttt;
datagridInfo.DataBind();
}
public DataSet SecondGraders()
{
datasetttt = new DataSet();
SqlQueryBuilder = new StringBuilder();
SqlQueryBuilder.Append("exec SecondGraders ");
datasetttt = ExecuteSqlQuery(databaseConnection, SqlQueryBuilder.ToString());
datagridInfo.DataSource = datasetttt;
datagridInfo.DataBind();
}
public DataSet ThirdGraders()
{
datasetttt = new DataSet();
SqlQueryBuilder = new StringBuilder();
SqlQueryBuilder.Append("exec ThirdGraders ");
datasetttt = ExecuteSqlQuery(databaseConnection, SqlQueryBuilder.ToString());
datagridInfo.DataSource = datasetttt;
datagridInfo.DataBind();
}
public DataSet ExecuteSqlQuery(string connectionString, string sqlQuery)
{
try
{
connstring = System.Configuration.ConfigurationManager.AppSettings[connectionString].ToString();
dbconn = new SqlConnection(connstring);
cm = new SqlCommand(sqlQuery, dbconn);
dbconn.Open();
cm.CommandTimeout = 0;
datasetttt = new DataSet();
da = new SqlDataAdapter(cm);
da.Fill(datasetttt, "Data");
return datasetttt;
}
catch (Exception exception) { throw exception; }
finally
{
dbconn.Close();
cm.Dispose();
da.Dispose();
}
}
我这个项目的目标框架是 Net Framework 4