首页 新闻 赞助 找找看

请教,这段代码怎么不能成功?

0
悬赏园豆:10 [已解决问题] 解决于 2011-03-27 17:09
1 sqlcon = new SqlConnection(strCon);
2 string id = HttpContext.Current.Session["Id"].ToString();
3
4 for (int i = 0; i <= GridView1.Rows.Count - 1; i++)
5 {
6 CheckBox cbox = (CheckBox)GridView1.Rows[i].FindControl("CheckBox1");
7 if (cbox.Checked == true)
8 {
9 sqlcon.Open();
10 string sqlstr1="Select 课程号 from 课程列表 where [课程号]='" + GridView1.DataKeys[i].Value + "'";
11 SqlCommand sqlcom = new SqlCommand(sqlstr1, sqlcon);
12 SqlDataAdapter sqladapt = new SqlDataAdapter(sqlcom);
13 DataTable dt = new DataTable();
14 sqladapt.Fill(dt);
15 string cjh = dt.Rows[0][0].ToString() + id;
16 string sqlstr2 = "insert into 成绩表(成绩单号,学生号,课程号) value('"+ cjh + "','" + id+"',''" + dt.Rows[0][0].ToString()+"')";
17 SqlCommand sqlcom2 = new SqlCommand(sqlstr2, sqlcon);
18 sqlcon.Close();
19 }
20 }

这是确定选课按钮的代码, 我是想将课程号和学生号合并为成绩单号,做为主键。运行没有错误提示,就是插入不了,粉嫩新人求指导,请写详细点。第一次发帖,分少莫怪。

问题补充: 额,这个应该算数据库问题吧…… 我调试到SqlCommand sqlcom2 = new SqlCommand(sqlstr2, sqlcon);值都正确,为什么存不进去呢? 应为没加成绩?但成绩应该之后输入吧? 另外加入sqlcom2.ExecuteNonQuery();后就出错了…………所以才删了………… 咳咳,我水了,我value少了个S,抱歉打扰各位了。
someoneishere的主页 someoneishere | 初学一级 | 园豆:190
提问于:2011-03-27 14:52
< >
分享
最佳答案
0

你个人才,你根本就没有插入,而不是插入不了

在下面的代码之后

string sqlstr2 = "insert into 成绩表(成绩单号,学生号,课程号) value('"+ cjh + "','" + id+"',''" + dt.Rows[0][0].ToString()+"')";
SqlCommand sqlcom2 = new SqlCommand(sqlstr2, sqlcon);

加入

sqlcom2.ExecuteNonQuery();     //这才是真正的插入。

收获园豆:10
Jerry Chou | 老鸟四级 |园豆:2642 | 2011-03-27 15:15
这样就出错了……,因为是新人弄不懂。
说明: 执行当前 Web 请求期间,出现未经处理的异常。请检查堆栈跟踪信息,以了解有关该错误以及代码中导致错误的出处的详细信息。

异常详细信息: System.Data.SqlClient.SqlException: ',' 附近有语法错误。
someoneishere | 园豆:190 (初学一级) | 2011-03-27 16:20
额,不好意思那个是刚才是回到以前的问题(退多了)。
问题是这个
System.Data.SqlClient.SqlException: 'value' 附近有语法错误。
someoneishere | 园豆:190 (初学一级) | 2011-03-27 16:46
我自己粗心的问题,给你吧。
someoneishere | 园豆:190 (初学一级) | 2011-03-27 17:09
呵呵,自己搞定问题才有意思
上面的问题很普通,你看下你拼的SQL是否正确 :)
Jerry Chou | 园豆:2642 (老鸟四级) | 2011-03-28 09:07
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册