jsp中sql语句的长度问题

coocoo 2002-05-27 05:24:08
我在运行时出现如下错误,而且两个sql都是如此,如何解决?
是不是不能一次写这么长?

Generated servlet error:
D:\tomcat\work\localhost\warehouse\jsp\AddPO_0005fInsert$jsp.java:294: ';' expected.
String SqlStmt_Item="insert into PO_Item(Item_Code,Order_NO,Item_Des,Qty,Status) values("+""+Item_Code""+","+""+Order_NO""+","+""+Item_Des""+","+""+Qty""+","+""+Status""+")";
...全文
44 11 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
11 条回复
切换为时间正序
请发表友善的回复…
发表回复
coocoo 2002-05-28
  • 打赏
  • 举报
回复
多谢两位指点,我明白了.
Andrawu 2002-05-28
  • 打赏
  • 举报
回复
对楼上的解释补充一点:
在对数据表进行insert、update时,对字符串的数据,是要用'单引号引起来的。对数字型则不要用'单引号引起来;对于双引号"+Order_NO+"表示Order_NO是变量,'"+Order_NO+"'表示作为字符串。对于:
String SqlStmt_Item="insert into PO_Item(Item_Code,Order_NO,Item_Des,Qty,Status) values ('"+Item_Code+"', '"+Order_NO+"', '"+Item_Des+"', "+Qty+", '"+Status+"')";

用值表示则为:
insert into PO_Item(Item_Code,Order_NO,Item_Des,Qty,Status) values('Item_CodeValue','Order_NOValue','Item_DesValue',QtyValue,'StatusValue')

wayyaw 2002-05-27
  • 打赏
  • 举报
回复
引号你不懂??就是字符串呀,引号之间的东东都表示字符串,加号可以把两个字符串连接起来,单引号则用于字段为vchar型的,number型的字段就不用单引号了,懂了吗??
coocoo 2002-05-27
  • 打赏
  • 举报
回复
谢谢各位的帮助和提醒,但我修改后的内容如下:
String SqlStmt_Item="insert into PO_Item(Item_Code,Order_NO,Item_Des,Qty,Status) values("+"'"+Item_Code+"'"+","+"'"+Order_NO+"'"+","+"'"+Item_Des+""+","+Qty+","+"'"+Status+"'"+")";
运行无错误.
但我对其中的引号却有点糊涂能否讲解一下,小妹这下有礼了!
saintKnight 2002-05-27
  • 打赏
  • 举报
回复
楼上说的对,对于数值类型是不需要引号的,只有字符串类型才需引号
Andrawu 2002-05-27
  • 打赏
  • 举报
回复
sql语句的组合还与字段类型有关,如果为int、long、float等数字型,
如Qty为数字型int.则为:
="insert into PO_Item(Item_Code,Order_NO,Item_Des,Qty,Status) values ('"+Item_Code+"', '"+Order_NO+"', '"+Item_Des+"', "+Qty+", '"+Status+"')";
Andrawu 2002-05-27
  • 打赏
  • 举报
回复
sql语句的组合与数据库字段类型有关。
如果你的字段为字符型可以用 gzwrj的那样。
如果为int、float、long等数字型则:
如果Qty是数字型则应
="insert into PO_Item(Item_Code,Order_NO,Item_Des,Qty,Status) values ('"+Item_Code+"', '"+Order_NO+"', '"+Item_Des+"', "+Qty+", '"+Status+"')";
zijianyi 2002-05-27
  • 打赏
  • 举报
回复
是呀,插入数据库的语句错误了
zijianyi 2002-05-27
  • 打赏
  • 举报
回复
是呀,你的sql语句错了,楼上的是正确的
gzwrj 2002-05-27
  • 打赏
  • 举报
回复
="insert into PO_Item(Item_Code,Order_NO,Item_Des,Qty,Status) values ('"+Item_Code+"', '"+Order_NO+"', '"+Item_Des+"', '"+Qty+"', '"+Status+"')";
lovenan 2002-05-27
  • 打赏
  • 举报
回复
和长度肯定没关系,错误应该在你的引号处
可以别发送sql语句,直接先打印出,看看sql是否正确

81,122

社区成员

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

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