大家帮忙看个sql语句

douming 2006-06-29 11:09:10
string strsql = string.Empty
strsql = string.Format("INSERT INTO catOriginalEvent_Teacher (TermID, TermBatchNo, OriginalEventID, TeacherID) Values ('" + STermID.ToString() + "', " + TermBatchNo + ",'" + ID.ToString() + "', " + TeacherID + ")");
SqlCommand cmd = new SqlCommand(strsql, clsCATool.DBConn);

我调试的时候,发现TermBatchNo 的值是"2005-1",可写到数据库里却变成了"2004",怎么回事,其他的值都是对着的
...全文
98 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
gicjoe 2006-06-29
  • 打赏
  • 举报
回复
不用string.Format
sql=INSERT INTO catOriginalEvent_Teacher (TermID, TermBatchNo, OriginalEventID, TeacherID) Values ('" + STermID.ToString() + "', " + TermBatchNo + ",'" + ID.ToString() + "', " + TeacherID + ")"
ugvihc 2006-06-29
  • 打赏
  • 举报
回复
建议加上'',我也碰到过类似问题.
Muf 2006-06-29
  • 打赏
  • 举报
回复
strsql = string.Format(
"INSERT INTO catOriginalEvent_Teacher (TermID, TermBatchNo, OriginalEventID, TeacherID) Values ('{0}', '{1}', '{2}', {3})",
STermID, TermBatchNo, ID, TeacherID );
yunxiao_2004 2006-06-29
  • 打赏
  • 举报
回复
没有理解string.Format真正的长处
strsql = string.Format("INSERT INTO catOriginalEvent_Teacher (TermID, TermBatchNo, OriginalEventID, TeacherID) Values ({0}, '{1}',{2}, {3})",STermID,TermBatchNo,ID ,TeacherID );
至于TermBatchNo 的值是"2005-1"为什么是2004,应该是你的TermBatchNo 的问题。
diandian82 2006-06-29
  • 打赏
  • 举报
回复
可能是数据库把它当成值类型来做了,2005 - 1 = 2004
你把它前后加上单引号试试
swordragon 2006-06-29
  • 打赏
  • 举报
回复
如果是操作mdb的话,请这样
"#', " + TermBatchNo
试验一下。
douming 2006-06-29
  • 打赏
  • 举报
回复
谁帮忙指点一下啊

110,571

社区成员

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

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

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