往数据库插入不了数据,而且很奇怪,同一个页面,能插入试卷的选择信息,但插入不了考试成绩?我看不出是什么原因,请高手帮帮忙!!!!

xiyupiaoran 2012-04-15 01:07:39
往数据库插入不了数据,而且很奇怪,同一个页面,能插入试卷的选择信息,但插入不了考试成绩?我看不出是什么原因,请高手帮帮忙!!!!
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语句的原因
...全文
52 2 打赏 收藏 转发到动态 举报
写回复
用AI写文章
2 条回复
切换为时间正序
请发表友善的回复…
发表回复
孟子E章 2012-04-15
  • 打赏
  • 举报
回复
string Score = "insert into Score(stuID,ExamID,SCscore,OK,ExamTime) values('" + labstu.Text + "','" + paperid + "','" + score + "','" + OK + "','" + DateTime.Now.ToString() + "')";

缺少单引号,

如果ExamID是数字,应该写成
," + paperid + "
而不是
,'" + paperid + "'

其他字段类似
孟子E章 2012-04-15
  • 打赏
  • 举报
回复
打印出你的Score 这个sql语句看是否正确,包括字段类型,不是字符类型、日期类型的不要加引号

110,536

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Web++
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧