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""+")";
...全文
7 点赞 收藏 11
写回复
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是否正确
回复
发动态
发帖子
Web 开发
创建于2007-09-28

7.9w+

社区成员

Java Web 开发
申请成为版主
社区公告
暂无公告