VAR
STRSQL:STRINg ;
BEGIN
WITH ADOQUERY1 DO
BEGIN
sx:=SX+1;
IF ACTIVE THEN
ACTIVE:=FALSE;
fieldbyname('SX').ASINTEGER:=SX;
STRSQL:='SELECT 菜式.价格'+
'AS jg'+
'FROM 菜式'+
'INNER JOIN 订单'+
'ON 菜式.编号 = 订单.编号'+
'WHERE 订单.编号 = +QuotedStr(trim(Edit1.text))+'+
'insert into 订单 (顺序,编号,特殊要求,地址,价格)'+
' values (sx,'+QuotedStr(trim(Edit1.text))+','+QuotedStr(trim(Edit2.text))+','+
QuotedStr(trim(Edit3.text))+',jg)' ;//主要就这里了,我要达到的目的是 将EDIT.TEXT的数据填加到表 订单,同时用SX来达到递增1添加到顺序字段的效果 同时查询出EDIT2.TEXT里添加的编号在表菜名里对应的价格 将价格也添加到表.
close;
sql.Clear;
sql.add(STRSQL);
execsql;
ACTIVE:=TRUE;
END;
WITH ADOTABLE2 DO
BEGIN
IF ACTIVE THEN
ACTIVE:=FALSE;
ACTIVE:=TRUE;
END;
WITH ADOQUERY2 DO
BEGIN
IF ACTIVE THEN
ACTIVE:=FALSE;
STRSQL:= 'insert into 排列 (编号,特殊要求,地址)'+
'values ('+QuotedStr(trim(Edit1.text))+','+QuotedStr(trim(Edit2.text))+','+
QuotedStr(trim(Edit3.text))+')' ;//同时还要把输入的EDIT.TEXT通过ADOQUERY2输入到排列表里来
close;
sql.Clear;
SQL.add(STRSQL);
execsql;
ACTIVE:=TRUE;
end;
end;
procedure TForm2.FormCreate(Sender: TObject);
begin
sx:=0;
end;
达人帮忙改改
主要问题都在这段里面了
改的能运行了分都给你~
SX赋的全局函数并在打开UNIT时SX=0了
我用的VFP+DELPHI7
STRSQL:STRINg ;
BEGIN
WITH ADOQUERY1 DO
BEGIN
sx:=SX+1;
IF ACTIVE THEN
ACTIVE:=FALSE;
fieldbyname('SX').ASINTEGER:=SX;
STRSQL:='SELECT 菜式.价格'+
'AS jg'+
'FROM 菜式'+
'INNER JOIN 订单'+
'ON 菜式.编号 = 订单.编号'+
'WHERE 订单.编号 = +QuotedStr(trim(Edit1.text))+'+
'insert into 订单 (顺序,编号,特殊要求,地址,价格)'+
' values (sx,'+QuotedStr(trim(Edit1.text))+','+QuotedStr(trim(Edit2.text))+','+
QuotedStr(trim(Edit3.text))+',jg)' ;//主要就这里了,我要达到的目的是 将EDIT.TEXT的数据填加到表 订单,同时用SX来达到递增1添加到顺序字段的效果 同时查询出EDIT2.TEXT里添加的编号在表菜名里对应的价格 将价格也添加到表.
close;
sql.Clear;
sql.add(STRSQL);
execsql;
ACTIVE:=TRUE;
END;
WITH ADOTABLE2 DO
BEGIN
IF ACTIVE THEN
ACTIVE:=FALSE;
ACTIVE:=TRUE;
END;
WITH ADOQUERY2 DO
BEGIN
IF ACTIVE THEN
ACTIVE:=FALSE;
STRSQL:= 'insert into 排列 (编号,特殊要求,地址)'+
'values ('+QuotedStr(trim(Edit1.text))+','+QuotedStr(trim(Edit2.text))+','+
QuotedStr(trim(Edit3.text))+')' ;//同时还要把输入的EDIT.TEXT通过ADOQUERY2输入到排列表里来
close;
sql.Clear;
SQL.add(STRSQL);
execsql;
ACTIVE:=TRUE;
end;
end;
procedure TForm2.FormCreate(Sender: TObject);
begin
sx:=0;
end;
达人帮忙改改
主要问题都在这段里面了
改的能运行了分都给你~
SX赋的全局函数并在打开UNIT时SX=0了
我用的VFP+DELPHI7
解决方案 »
- 请教 批量执行 bat文件的 方法,
- IP摄像头多路监控
- 怎样在程序运行前(或者刚开始运行时)获取到该程序的完整路径、文件名及运行时的进程句柄,然后阻止指定程序的运行,如果已经运行则强制结束。
- Delphi中文件的上传、下载问题
- 不希望我写入文件的内容能被查到,大家指点一下。
- sql server服务器列表?和网上领居浏览窗
- 出现list index out of bounds(32)是怎么回事??求教!!
- 最前端显示问题:
- 到底如何创建delphi程序的工程文件?比如用工程文件存取图标,如何其创建.res文件?
- 关于制作类似'开始'的下拉式菜单遇到的问题(分不够可以加)
- mdi的windowsmenu和 PageControl动态联系起来 在线求一实例
- 液晶(明基)显示器,显示字体有像风吹过的效果,应该怎么解决?
STRSQL:STRINg ;
BEGIN
WITH ADOQUERY1 DO
BEGIN
sx:=SX+1;
Close;
sql.Clear;
STRSQL:='SELECT 菜式.价格 AS jg FROM 菜式 INNER JOIN 订单 ON 菜式.编号 = 订单.编号 WHERE 订单.编号 ='+QuotedStr(trim(Edit1.text));
sql.add(STRSQL);
open; STRSQL:='insert into 订单 (顺序,编号,特殊要求,地址,价格)'+
' values ('+QuotedStr(sx)+','+QuotedStr(trim(Edit1.text))+','+QuotedStr(trim(Edit2.text))+','+QuotedStr(trim(Edit3.text))+','+floattostr(FieldByName('jp').asFloat)+')';//jp是什么变量?
Close;
sql.Clear;
sql.add(STRSQL);
execsql;
END; WITH ADOTABLE2 DO
BEGIN
WITH ADOQUERY2 DO
BEGIN
STRSQL:= 'insert into 排列 (编号,特殊要求,地址)'+
'values ('+QuotedStr(trim(Edit1.text))+','+QuotedStr(trim(Edit2.text))+','+
QuotedStr(trim(Edit3.text))+')' ;//同时还要把输入的EDIT.TEXT通过ADOQUERY2输入到排列表里来
close;
sql.Clear;
SQL.add(STRSQL);
execsql; Close;
sql.clear;
sql.add('select * from table');//查询语句
open;
end;
end;
end;
应该类似这样
' values ('+QuotedStr(sx)+','+QuotedStr(trim(Edit1.text))+','+QuotedStr(trim(Edit2.text))+','+QuotedStr(trim(Edit3.text))+','+floattostr(FieldByName('jg').asFloat)+')';//
另 你打错了 不是JP 是JG 价格的意思 就是上句中 SELECT查询出来的标签大哥 这句还是不行啊
错误提示: INCOMPATIBLE TYPES:'STRING'AND'INTEGER'
对于字符串,需要用QuotedStr(s) 在字符串前后加单引号,字符串中的单引号替换为2个
对于整数,需要用IntToStr(n) 将数字转换为字符串才能够将字符串相加
对于小数,用FloatToStr
对于日期,用FormatDatetime