sql insert语句。
有如下变量:
bianhao:string //编号,在sql2000数据库中是,char类型
jiage:string;//价格,在sql2000数据库中是,money类型
shuliang:string;//数量,在sql2000数据库中是,int类型
bianhao=Edit1.text;
jiage=Edit2.text;
shuliang=Edit3.text;
通过文本框获得值,插入数据库,sql如下:
sqlstr:= 'insert int biao(bh,jg,sl)values( ' ' '+bianhao+ ' ' ', ' ' '+jiage+ ' ' ', ' ' '+shuliang+ ' ' ') ';//有错的!
字符型插入到数据库中的money,int型出错,该怎么写啊?谢谢!
[解决办法]
sqlstr:= 'insert int biao(bh,jg,sl)values( ' ' '+bianhao+ ' ' ', ' ' '+jiage+ ' ' ', ' ' '+shuliang+ ' ' ') ';//有错的!
var
ASQL:string;
ASQL:= 'insert into biao(bh,jg,sl) values ';
ASQL:=ASQL+ ' ( '+QuotedStr(biaohao)+ ', '+jiage+ ', '+shuliang+ ') ';
sqlstr:=ASQL;
[解决办法]
楼上的字符串怎么能和整型相加呢?
SmallHand(火) 是正确的
测试:
CREATE TABLE H(a CHAR ,b INTEGER,c MONEY)
INSERT INTO H(a,b,c) VALUES ( 'C ', '123 ',12)
SELECT * FROM H
DROP TABLE H
楼主看一下你的信息输入是否正确
[解决办法]
ASQL:=ASQL+ ' ( '+QuotedStr(biaohao)+ ', '+IntTOStr(jiage)+ ', '+floatTostr(shuliang)+ ') ';
或者
ASQL:=ASQL+ ' ( '+QuotedStr(biaohao)+ ', '+IntTOStr(jiage)+ ', '+shuliang+ ') ';
[解决办法]
ASQL:=ASQL+ ' ( '+QuotedStr(biaohao)+ ', '+IntTOStr(jiage)+ ', '+floatTostr(shuliang)+ ') ';
或者
ASQL:=ASQL+ ' ( '+QuotedStr(biaohao)+ ', '+IntTOStr(jiage)+ ', '+shuliang+ ') ';
---------------------------------------
我得必要吧!
因他上面定的是:
bianhao:string
jiage:string
shuliang:string;
所以你一下可不可以:
bianhao=trim(Edit1.text);
jiage=trim(Edit2.text);
shuliang=trim(Edit3.text);
sql.text:= 'insert into biao(bh,jg,sl) values ( ' ' '+bianhao+ ' ' ', ' ' '+jiage+ ' ' ', ' ' '+shuliang+ ' ' ') ';