问一个关于SQL语句的问题!大家来帮忙!

zhnzzy 2005-07-14 10:50:16
cmd.CommandText ="update thi_announcements set beValided=1 WHERE id="+ann_ID;
这个语句是别人写的代码里的一句话,我不懂的地方是他为什么在id="+ann_ID 在这里加了引号,而不是在最后加请问这句话该怎么理解呢?
...全文
121 8 打赏 收藏 转发到动态 举报
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
j_lei407 2005-07-15
  • 打赏
  • 举报
回复
cmd.CommandText ="update thi_announcements set beValided=1 WHERE id="+ann_ID;
首先这句话的意思是把两个字符串连接起来付给cmd.CommandText;
字符串一:"update thi_announcements set beValided=1 WHERE id="
字符串二:ann_ID;
ann_ID是string(字符串)类型变量
在前面应该有个给ann_ID赋值的过程就像这样
ann_ID = "1";
执行最上面那句话之后
cmd.CommandTextde最后结果就是"update thi_announcements set beValided=1 WHERE id=1"

而你的表thi_announcements中字段id是如果是字符型那么就要改成如下的
cmd.CommandText ="update thi_announcements set beValided=1 WHERE id= '"+ann_ID+"'";

执行结果就是
"update thi_announcements set beValided=1 WHERE id='1'"
zhnzzy 2005-07-15
  • 打赏
  • 举报
回复
哦!
aimcy 2005-07-14
  • 打赏
  • 举报
回复
两位正解
李世东 2005-07-14
  • 打赏
  • 举报
回复
因为ann_ID是string
zhnzzy 2005-07-14
  • 打赏
  • 举报
回复
靠!怎么给出两种解释的!
seaonce 2005-07-14
  • 打赏
  • 举报
回复
因为ann_ID是int型变量
如果是string就须要加引号例:

cmd.CommandText ="update thi_announcements set beValided=1 WHERE id='"+ann_ID+"'";
cncxz 2005-07-14
  • 打赏
  • 举报
回复
ann_ID是变量(假设是8)


cmd.CommandText ="update thi_announcements set beValided=1 WHERE id="+ann_ID;

等同于

cmd.CommandText ="update thi_announcements set beValided=1 WHERE id=8";
mathsword 2005-07-14
  • 打赏
  • 举报
回复
哪有两种解释?第一位兄弟说的是数字的情况是第二位兄第的特殊情况

两种说法不矛盾

110,536

社区成员

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

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

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