PDA

View Full Version : حل مشكل كد



amir1400
یک شنبه 22 شهریور 1388, 22:20 عصر
با سلام
من در asp‎.Net مبتدي ام و در قسمتي از كدها به مشكل خوردم.ممنون ميشم اساتيد وقت بزارن و مشكلم را حل كنن.اين قسمتي از كد امتحان آنلاينه كه پاسخ هاي دانشجو ار در DB سيو ميكنه.من ميخواستم در انتها (يعني بلافاصله بعد از سيو در DB )در جدول ديگه به نام marks نمره اون دانشجو را محاسبه و درصد بگيره(مهمه كه حتما در يك جدول ديگه سيو بشه)
پاسخ هاي دانشجو به درستي سيو ميشه ولي در مورد نمره اصلا اون چيزي كه ميخوام نميده.:عصبانی++:

protected void Button1_Click(object sender, EventArgs e)
{
try
{
this.GridView1_PageIndexChanging(null, null);

}
catch (Exception e1) { }
DataSet1 ds = (DataSet1)Session["dataset"];
foreach (DataSet1.resultRow dr in ds.result.Rows)
{
SqlCommand cmd = new SqlCommand();
cmd.Connection = new myConnection().Cnn;
cmd.CommandText = "insertResult";
cmd.CommandType = CommandType.StoredProcedure;
cmd.Parameters.AddWithValue("std_id", dr["std_id"].ToString());
cmd.Parameters.AddWithValue("@exam_code", dr["exam_code"].ToString());
cmd.Parameters.AddWithValue("@question_code", dr["question_code"].ToString());
cmd.Parameters.AddWithValue("@answer_a", dr["answer_sa"].ToString());
cmd.Parameters.AddWithValue("@answer_b", dr["answer_sb"].ToString());
cmd.Parameters.AddWithValue("@answer_c", dr["answer_sc"].ToString());
cmd.Parameters.AddWithValue("@answer_d", dr["answer_sd"].ToString());
cmd.ExecuteNonQuery();
}


string sql = "select * from finalresult where std_id='" + Session["ID"].ToString() + "' and exam_code= '" + Session["code"].ToString() + "'";
SqlDataAdapter da1 = new SqlDataAdapter(sql,new myConnection().Cnn);
DataSet1 ds1 = new DataSet1();
da1.Fill(ds1.finalresult);

Session.Add("finlaresult", ds1);

int qcount = 0, anscount = 0, mark = 0;
int percent = 0;
foreach(DataSet1.finalresultRow dr1 in ds1.finalresult.Rows)
{
if (dr1["answer_sa"].ToString() == dr1["answer_a"].ToString() && dr1["answer_sb"].ToString() == dr1["answer_b"].ToString() && dr1["answer_sc"].ToString() == dr1["answer_c"].ToString() && dr1["answer_sd"].ToString() == dr1["answer_d"].ToString())
{
anscount++;
mark += Convert.ToInt16(dr1["grade"].ToString());
}
qcount++;
percent = Convert.ToInt16((anscount / qcount) * 100);

SqlCommand cmd1 = new SqlCommand();
cmd1.Connection = new myConnection().Cnn;
cmd1.CommandText = "insert into marks values( @std_id,@std_name,@course_qcount,@course_mark,@cou rse_percent)";
cmd1.Parameters.AddWithValue("@std_id", Session["ID"].ToString());
cmd1.Parameters.AddWithValue("@std_name", Session["UN"].ToString());
cmd1.Parameters.AddWithValue("@course_qcount", qcount);
cmd1.Parameters.AddWithValue("@course_mark", mark);
cmd1.Parameters.AddWithValue("@course_percent",percent);
cmd1.ExecuteNonQuery();

}

amir1400
یک شنبه 22 شهریور 1388, 23:13 عصر
من بايد تا سه چهار روز ديگه پروژه مو تحويل بدم.
خواهش ميكنم از اساتيد كه در حل مشكل من كمك كنن.
ممنون

amir1400
دوشنبه 23 شهریور 1388, 12:27 عصر
بابا يكي به داد من برسه :ناراحت: