c#使用insert 向数据库插入变量的问题

以沫沫 2016-04-29 07:37:20

for (int n = 0; n <= 9; n++)
{
sql = "insert into Question_answer(SNO,CNO,Answer,Score)values('" + txt_Stu_ID.Text + "',n,'" + Stu_Choose[n] + "',EndScore[n])";
op.OPSQL(sql);
}//实现每名学生所有题答案和得分的录入
初学者求助~!
如上,运行的时候老说n附近有语法错误,op是定义的一个类,opsql可实现增删改
数据库里SNO和ANSWER是varchar型 CNO和State是int型
Stu_Choose[n] string数组 是存第n题学生选择的答案的(A,B,C或D)
EndScore[n]是int型数组 存放的是第n题学生得分的(0和1)
我觉得没有错哎,求问 哪里错了 怎么改哇~
...全文
729 8 打赏 收藏 举报
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
jhonnytp 2016-04-30
  • 打赏
  • 举报
回复
sql = "insert into Question_answer(SNO,CNO,Answer,Score)values('" + txt_Stu_ID.Text + "',n,'" + Stu_Choose[n] + "',EndScore[n])"; 你这段是数据库语句拼接成字符后传给数据库进行执行的,你第一个N传进去的时候没有拼接,直接把N这个字母传进去了,应该这样 sql = "insert into Question_answer(SNO,CNO,Answer,Score)values('"+ txt_Stu_ID.Text+"',"+n.tostring()+",'"+ Stu_Choose[n] +"',"+EndScore[n].tostring()+")" 拼接的时候,如果是int型的,要转成string型,但不用加单引号,string型要前后加单引号
XTao89 2016-04-30
  • 打赏
  • 举报
回复
sql = "insert into Question_answer(SNO,CNO,Answer,Score)values('" + txt_Stu_ID.Text + "',n,'" + Stu_Choose[n] + "',EndScore[n])"; txt_Stu_ID.Text这个后面的n用加号拼接,我觉得你这个问题是语法错误
xuzuning 2016-04-29
  • 打赏
  • 举报
回复
txt_Stu_ID.Text 和 Stu_Choose[n] 在双引号外,表示的是变量 n 和 EndScore[n] 都在双引号内,那就表示是数据库固有的东西
xuzuning 2016-04-29
  • 打赏
  • 举报
回复
我没问你是什么含义,而是问你 有没有语法错误
以沫沫 2016-04-29
  • 打赏
  • 举报
回复
就是一个学生要考10道题嘛 要把每道题的得分都写进去 那不就是一个for循环用n计数哪道题 endscore就是每个学生每道题的得分记录........
xuzuning 2016-04-29
  • 打赏
  • 举报
回复
sql = "insert into Question_answer(SNO,CNO,Answer,Score)values('" + txt_Stu_ID.Text + "',n,'" + Stu_Choose[n] + "',EndScore[n])"; 那个 n 是什么?字段名? EndScore[n] 又是什么?什么数据库有这个写法?
以沫沫 2016-04-29
  • 打赏
  • 举报
回复
什么叫打印出来。。我是纯小白。。不会c# 老师还留了个cs的作业
xuzuning 2016-04-29
  • 打赏
  • 举报
回复
你把 sql 打印出来看看

111,128

社区成员

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

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

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