数据库语句执行问题

alongytl 2003-09-14 02:35:13
请问下面的话有错误吗?有的话错在哪里?

String tcb="UPDATE account SET balance='"+Balance+"'WHERE id='"+Id ;
stmt.executeUpdate(tcb);

注释:
//其中Statement stmt=con.createStatement();
account:数据库文件
balance 和id 是account内的东西
目标是把balance改为Balance,条件为 id=Id.
...全文
32 9 打赏 收藏 转发到动态 举报
写回复
用AI写文章
9 条回复
切换为时间正序
请发表友善的回复…
发表回复
allan1031 2003-09-17
  • 打赏
  • 举报
回复
要看你的数据库的中表的情况了

一般ID是不为字符串的

这个时候就不需要冒号了

应该为
String tcb="UPDATE account SET balance='"+Balance+"'WHERE id="+Id ;


dumm 2003-09-17
  • 打赏
  • 举报
回复
建议即使是数字也要加上'符号,避免SQL Injection
caoxmby 2003-09-17
  • 打赏
  • 举报
回复
我认为写sql的时候不要吝啬空格
dingzhaofeng 2003-09-15
  • 打赏
  • 举报
回复
tcb 的值不对。
jscsqb 2003-09-15
  • 打赏
  • 举报
回复
如果Id是数值:
String tcb="UPDATE account SET balance='"+Balance+"'WHERE id="+Id ;
如果Id是字符串:
String tcb="UPDATE account SET balance='"+Balance+"'WHERE id='"+Id+"'" ;
robotcrawl 2003-09-14
  • 打赏
  • 举报
回复
id 一般不是字符串吧
bread213 2003-09-14
  • 打赏
  • 举报
回复
有问题,sql中的id少了一个'
String tcb="UPDATE account SET balance='"+Balance+"'WHERE id='"+Id+"' " ;
alongytl 2003-09-14
  • 打赏
  • 举报
回复
自己回啦
alongytl 2003-09-14
  • 打赏
  • 举报
回复
String tcp="UPDATE account SET password='"+tnpw+"' WHERE id='"+Id+"'";

62,614

社区成员

发帖
与我相关
我的任务
社区描述
Java 2 Standard Edition
社区管理员
  • Java SE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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