62,046
社区成员
发帖
与我相关
我的任务
分享
string str = "
create view basic(
class_id,
student_id,
student_number,
student_name,
arra_id,
score
) as
select
class_id,
tb_student.student_id,
student_number,
student_name,
tb_score.arra_id,
score
from
tb_score
inner join
tb_courseArrage
on
tb_score.arra_id=tb_courseArrage.arra_id
inner join
tb_student
on
tb_student.student_id=tb_score.student_id
where
gradeid=@gradeid
and termid=@termid
and class_id=@classid
";
sqlHelper.ExecuteNonQueryAutoCommit(
str,
new SqlParameter("gradeid", this.DropDownList1.SelectedItem.Value.ToString()),
new SqlParameter("termid", this.DropDownList3.SelectedItem.Value.ToString()),
new SqlParameter("classid", this.DropDownList2.SelectedItem.Value.ToString())
);
string str1 = "
create view total(
student_id,
sum_score,
avg_score
) as
select
student_id,
sum(score),
avg(score)
from
basic
group by
student_id";
sqlHelper.ExecuteNonQueryAutoCommit(str1);
string str2 = "
create view score_table(
student_number,
student_name,
basic_total,
basic_average,
quality_score,
score
) as
select
student_number,
student_name,
sum_score,
avg_score,
quality_score,
avg_score*0.7+quality_score*0.3
from
basic
inner join
total
on
basic.student_id=total.student_id
inner join
tb_qualityScore
on
basic.student_id=tb_qualityScore.student_id
where
term_id=@termid
";
sqlHelper.ExecuteNonQuery(
str2,
new SqlParameter("termid", this.DropDownList3.SelectedItem.Value.ToString())
);
string str3 = "select distinct * from score_table order by score desc;";
DataTable table3 = sqlHelper.ExecuteDataTable(str3);
this.GridView1.DataSource = table3;
this.GridView1.DataBind();
string str4 = "drop view basic";
sqlHelper.ExecuteNonQueryAutoCommit(str4);
string str5 = "drop view total";
sqlHelper.ExecuteNonQueryAutoCommit(str5);
string str6 = "drop view score_table";
sqlHelper.ExecuteNonQueryAutoCommit(str6);
public static string connStr = ConfigurationManager.ConnectionStrings["ConnStr"].ConnectionString;
public static int ExecuteNonQuery(string sql, params SqlParameter[] parameters)
{
using (SqlConnection conn = new SqlConnection(connStr))
{
conn.Open();
using (SqlCommand cmd = conn.CreateCommand())
{
cmd.CommandText = sql;
foreach (SqlParameter parameter in parameters)
{
cmd.Parameters.Add(parameter);
}
return cmd.ExecuteNonQuery();
}
}
}
public static DataTable ExecuteDataTable(string sql, params SqlParameter[] parameters)
{
using (SqlConnection conn = new SqlConnection(connStr))
{
conn.Open();
using (SqlCommand cmd = conn.CreateCommand())
{
cmd.CommandText = sql;
foreach (SqlParameter parameter in parameters)
{
cmd.Parameters.Add(parameter);
}
SqlDataAdapter adapter = new SqlDataAdapter(cmd);
DataSet da = new DataSet();
adapter.Fill(da);
DataTable table = da.Tables[0];
return table;
}
}
}
public static int ExecuteNonQueryAutoCommit(string sql, params SqlParameter[] parameters)
{
int iRet = -1;
using (SqlConnection conn = new SqlConnection(connStr))
{
conn.Open();
using (SqlCommand cmd = conn.CreateCommand())
{
cmd.CommandText = sql;
foreach (SqlParameter parameter in parameters)
{
cmd.Parameters.Add(parameter);
}
iRet = cmd.ExecuteNonQuery();
}
conn.commit();
}
return iRet;
}
sqlHelper.ExecuteNonQuery(str, new SqlParameter("gradeid", this.DropDownList1.SelectedItem.Value.ToString()), new SqlParameter("classid", this.DropDownList2.SelectedItem.Value.ToString()), new SqlParameter("termid", this.DropDownList3.SelectedItem.Value.ToString()));
改成下面这样
sqlHelper.ExecuteNonQuery(str, new SqlParameter("gradeid", this.DropDownList1.SelectedItem.Value.ToString()), new SqlParameter("termid", this.DropDownList3.SelectedItem.Value.ToString()), new SqlParameter("classid", this.DropDownList2.SelectedItem.Value.ToString()));
sqlcommand的paramters是认顺序的。