往数据库插入不了数据,而且很奇怪,同一个页面,能插入试卷的选择信息,但插入不了考试成绩?我看不出是什么原因,请高手帮帮忙!!!!
往数据库插入不了数据,而且很奇怪,同一个页面,能插入试卷的选择信息,但插入不了考试成绩?我看不出是什么原因,请高手帮帮忙!!!!
using System;
using System.Data;
using System.Configuration;
using System.Collections;
using System.Web;
using System.Web.Security;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
using System.Web.UI.HtmlControls;
using System.Data.SqlClient;
public partial class Student_Test : System.Web.UI.Page
{
string EID = "";
protected void Page_Load(object sender, EventArgs e)
{
this.labstu.Text = Session["user"].ToString();
if (Request["ExamID"] == null)
{
Response.Write("<script lanuage=javascript>alert('准备考试!');window.location.href='Examlist.aspx';</script>");
}
else
{
EID = Request["ExamID"].ToString();
}
if (!IsPostBack)
{
InitData();
}
}
//初始化试卷,从数据库中将试题取出
protected void InitData()
{
BaseDBControl dbContol = new BaseDBControl();
string sql = "select SingleProblem.ID,SChoosePoint,ExamName,questionText,chooseA,chooseB,chooseC,chooseD ,answer from WorkExam,SingleProblem,ExamInfo where SingleProblem.ID=TitleID and ExamInfo.ExamID='" + EID + "' and ExamInfo.ExamID=WorkExam.ExamID";
DataTable dr = dbContol.returnDataTableList(sql);
this.GridView1.DataSource = dr;
this.GridView1.DataBind();
SqlDataReader ds = dbContol.DataExecuteReader(sql);
if (ds.Read())
{
this.lblExamName.Text = ds["ExamName"].ToString();
}
//绑定操作题数据
BaseDBControl dbContol1 = new BaseDBControl();
string sql1 = "select Application.ID, ApplicationPoint,questionText,answer from WorkExam,Application,ExamInfo where Application.ID=TitleID and ExamInfo.ExamID='" + EID + "'and ExamInfo.ExamID=WorkExam.ExamID";
DataTable dr1 = dbContol1.returnDataTableList(sql1);
this.GridView5.DataSource = dr1;
this.GridView5.DataBind();
}
//提交试卷
protected void imgBtnSubmit_Click(object sender, ImageClickEventArgs e)
{
int paperid = Convert.ToInt32(EID);
BaseDBControl db = new BaseDBControl();
int score = 0;
int singlemark1 = int.Parse(((Label)GridView1.Rows[0].FindControl("Label4")).Text);//取出单选题的每题分值
foreach (GridViewRow dr in GridView1.Rows)//对单选题每题进行判断用户选择答案
{
string str= "";
if (((RadioButton)dr.FindControl("AAA")).Checked)
{
str = "A";
}
else if (((RadioButton)dr.FindControl("BBB")).Checked)
{
str = "B";
}
else if (((RadioButton)dr.FindControl("CCC")).Checked)
{
str = "C";
}
else if (((RadioButton)dr.FindControl("DDD")).Checked)
{
str = "D";
}
if (((Label)dr.FindControl("Label8")).Text.Trim() == str)//将用户选择结果和答案进行比较
{
score = score + singlemark1;
}
string OK = "等待评卷";
string Score = "insert into Score(stuID,ExamID,SCscore,OK,ExamTime) values('" + labstu.Text + "','" + paperid + "','" + score + "','" + OK + "'," + DateTime.Now.ToString() + "')";
db.DataNonExecuteQuery(Score);
}
//上面是插入选择题自动评分的成绩, 但没有
// 这部分是插入学生操作题的答题情况,已经成功实现
int Appmark = int.Parse(((Label)GridView5.Rows[0].FindControl("Label37")).Text);//取出操作题每题分值
foreach (GridViewRow dr in GridView5.Rows)
{
string str1 = "";
str1 = ((TextBox)dr.FindControl("TextBox1")).Text.Trim();
int titleid = int.Parse(((Label)dr.FindControl("Label44")).Text);
int nid = int.Parse(((Label)dr.FindControl("Label33")).Text);
string Que = "insert into StuAnswer(stuID,ExamID,Type,TitleID,NID,Mark,StuAnswer,ExamTime) values('" + labstu.Text + "','" + paperid + "','操作题','" + nid + "','" + titleid + "','" + Appmark + "','" + str1 + "','" + DateTime.Now.ToString() + "')";
db.DataNonExecuteQuery(Que);
}
Response.Write("<script lanuage=javascript>alert('提交试卷成功!');window.location.href='TestScore.aspx';</script>");
}
}
//上面是插入选择题自动评分的成绩, 但没有
// 这部分是插入学生操作题的答题情况,已经成功实现
请高手们看看,是不是哪里出问题了,我在SQL中插入是没有问题的,所以应该不是insert语句的原因