【发布时间】:2016-03-11 19:00:00
【问题描述】:
我只是在学习使用Parallel.Invoke() 并试图将我的想法围绕返回多个DataSets() 例如,让我们采用下面的示例语法 - 我如何对 3 个中的每一个都使用方法 ExecuteSqlQuery() 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
【问题讨论】:
标签: c# asp.net webforms parallel.invoke