delphi程序小问题,急

来源:百度知道 编辑:UC知道 时间:2024/06/25 16:26:41
商品信息的字段名为
主键 商品ID: char 长度8 位
商品名: varchar 长度50 位, 不允许为空
进货价: smallmoney 长度4 位, 不允许为空
售货价: smallmoney 长度4 位, 不允许为空
生产日期: datetime 长度8 位, 不允许为空
保质期: datetime 长度8 位, 允许为空
进货日期: datetime 长度8 位, 不允许为空
库存: int 长度4 位, 不允许为空

SQL.text := 'insert into 商品信息 values(:goodsID,:name,:priceIn,:priceOut,:produceDate,:keepDate,:buyDate,:haveNum)';
parameters.parambyname('goodsID').Value := Edit1.Text;
parameters.parambyname('name').value := Edit2.Text;
parameters.parambyname('priceIn').value := edit3.text;
parameters.parambyname('priceOut').value := edit4.text;
parameters.parambyname('produceDate').value := Edit5.Text;
parameters.parambyname('keepDate').value := Edit6.Text;
parameters.parambyname('buyDate').

可能要将前面两人的答案合起来才得行哟!!
一是插入语句格式问题:insert into 表名(列名1,列名2……) values(值列表)
二是要注意值的类型转换。

sql 语句有问题
SQL.text := 'insert into 商品信息 (商品ID,商品名,进货价,售货价。。。。) values(:goodsID,:name,:priceIn,:priceOut,:produceDate,:keepDate,:buyDate,:haveNum)';

parameters.parambyname('priceIn').value := strtofloat(edit3.text);
parameters.parambyname('priceOut').value := strtofloat(edit4.text);
parameters.parambyname('produceDate').value := strtodatetime(Edit5.Text);
parameters.parambyname('keepDate').value := strtodatetime(Edit6.Text);
parameters.parambyname('buyDate').value := strtodatetime(Edit7.Text);
parameters.parambyname('haveNum').value := strtoint(Edit8.Text);