int类型的字段如何成为update的条件

yugiant 2010-08-13 11:17:20
遇到一个怪现象:
string strUpdate = "update ProductClass1 set ClassName='dddkkk' where Class1ID="+txtID.Text;
其中Class1ID是int类型
但是执行结果ClassName总是没有被更新,还是原来的值
如果把where条件去掉,更新就可以的
这个句子哪里写错了吗
望指教,谢谢
...全文
201 11 打赏 收藏 转发到动态 举报
写回复
用AI写文章
11 条回复
切换为时间正序
请发表友善的回复…
发表回复
ryfsoft 2010-08-13
  • 打赏
  • 举报
回复
一定要强转类型的,txtID是string类型的,classid 是INT 的肯定不行的
yugiant 2010-08-13
  • 打赏
  • 举报
回复
问题找到了,因为txtID.text来源于数据表中某个字段
因此取此字段值的操作在page_load中一定要放在! IsPostBack中
因为点按钮前是有值的,但点完按钮txtID中其实是没有值的
这个下次一定要注意了,也学了一招
谢谢各位
ajq1989 2010-08-13
  • 打赏
  • 举报
回复
txtID有问题。
凤凰涅檠 2010-08-13
  • 打赏
  • 举报
回复
[Quote=引用楼主 yugiant 的回复:]
遇到一个怪现象:
string strUpdate = "update ProductClass1 set ClassName='dddkkk' where Class1ID="+txtID.Text;
其中Class1ID是int类型
但是执行结果ClassName总是没有被更新,还是原来的值
如果把where条件去掉,更新就可以的
这个句子哪里写错了吗
望指教,谢谢
[/Quote]

Class1ID="+int.Parse(txtID.Text);
验证,转成int类型比较好
iloveyoubaby 2010-08-13
  • 打赏
  • 举报
回复
还有你看看数据库中是否有Class1ID等于txtID.Text的数据,如果没有,当然不会更新了
iloveyoubaby 2010-08-13
  • 打赏
  • 举报
回复
从你的这句话看
但是执行结果ClassName总是没有被更新,还是原来的值
如果把where条件去掉,更新就可以的

问题就是出在where这里
iloveyoubaby 2010-08-13
  • 打赏
  • 举报
回复
一个办法是用在更新前用正则表达式限制textID的输入值不能为空和非int数据
第二个办法是txtID.Text在加入strUpdate前进行判断是否为空或非int数据,并去掉空格,即txtID.Text.trim()
gongsun 2010-08-13
  • 打赏
  • 举报
回复
这还问?

速度检查txtID.Text!
十八道胡同 2010-08-13
  • 打赏
  • 举报
回复
你的txtID.Text里面是不是有空格之类的字符
txtID.Text.trim()
dqsweet 2010-08-13
  • 打赏
  • 举报
回复
没有错
yanxiaodi 2010-08-13
  • 打赏
  • 举报
回复
断点调试一下 看strUpdate的值是什么

62,249

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术交流专区
javascript云原生 企业社区
社区管理员
  • ASP.NET
  • .Net开发者社区
  • R小R
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

.NET 社区是一个围绕开源 .NET 的开放、热情、创新、包容的技术社区。社区致力于为广大 .NET 爱好者提供一个良好的知识共享、协同互助的 .NET 技术交流环境。我们尊重不同意见,支持健康理性的辩论和互动,反对歧视和攻击。

希望和大家一起共同营造一个活跃、友好的社区氛围。

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