procedure TForm1.BitBtn1Click(Sender: TObject);
begin StatusBar1.SimpleText := '正在查询......';
BitBtn1.Cursor := crSQLWait;
Form1.Refresh;
sleep(10);
adoquery1.Close;
adoquery1.SQL.Clear;
adoquery1.SQL.Add('select a.com_code,a.name, a.memo , "1*" || to_char(a.bzhl),sum(a.sl) ,round(a.bhspfj,4), round(sum(a.lsje*(1-a.xxtax)),4),round(1/(1- a.xxtax )-1,2)*100 || "%",round(sum(a.lsje-a.lsje*(1-a.xxtax)),4),c.shdw,d.name');
adoquery1.SQL.Add(' from inv_pf_com a,inv_pf_doc c,pfs d');
adoquery1.SQL.Add('where a.seqno in ( ');
adoquery1.SQL.Add(' select * from ls_xs ) ');
adoquery1.SQL.Add('and a.seqno=c.seqno');
adoquery1.SQL.Add('and c.shdw=d.code');
adoquery1.SQL.Add('group by c.shdw,d.name,a.com_code,a.name,a.memo ,"1*" || to_char(a.bzhl),round(a.bhspfj,4), round(1/(1- a.xxtax )-1,2)||"%+"');
adoquery1.SQL.Add('order by a.com_code'); adoquery1.ExecSQL; Form1.DBGrid1.Columns.Items[0].Title.caption := '商品编码' ;
Form1.DBGrid1.Columns.Items[0].Width := 80;
Form1.DBGrid1.Columns.Items[1].Title.caption := '商品名称';
Form1.DBGrid1.Columns.Items[1].Width := 200;
Form1.DBGrid1.Columns.Items[2].Title.caption := '条码';
Form1.DBGrid1.Columns.Items[2].Width := 60;
Form1.DBGrid1.Columns.Items[3].Title.caption := '规格';
Form1.DBGrid1.Columns.Items[3].Width := 60;
Form1.DBGrid1.Columns.Items[4].Title.caption := '出货数量';
Form1.DBGrid1.Columns.Items[4].Width := 80;
Form1.DBGrid1.Columns.Items[5].Title.caption := '不含税价格';
Form1.DBGrid1.Columns.Items[5].Width := 100;
Form1.DBGrid1.Columns.Items[6].Title.caption := '不含税金额';
Form1.DBGrid1.Columns.Items[6].Width := 100;
Form1.DBGrid1.Columns.Items[7].Title.caption := '税率';
Form1.DBGrid1.Columns.Items[7].Width := 60;
Form1.DBGrid1.Columns.Items[8].Title.caption := '税金';
Form1.DBGrid1.Columns.Items[8].Width := 100;
Form1.DBGrid1.Columns.Items[9].Title.caption := '客户代码';
Form1.DBGrid1.Columns.Items[9].Width := 80;
Form1.DBGrid1.Columns.Items[10].Title.caption := '客户名称';
Form1.DBGrid1.Columns.Items[10].Width := 250; StatusBar1.SimpleText := '共 ' + inttostr(adoquery1.RecordCount) + ' 条记录';
BitBtn1.Cursor := crDefault;
end;上面一段代码,哪里有问题?为什么总是显示invalid column name‘。
请各位大侠不吝赐教。有分哦!
解决方案 »
- 难道没有一个高手吗?怎样让mdi的子窗体去掉标题栏的最大化最小化和关闭按钮?
- 问一个关于窗体的可能比较老的问题
- 请问如何能知道键盘按了ctrl+alt+a按键啊,有例子吗
- SQLSERVER2000中如何对表中某字段值以*号显示,在企业管理器查看也必须是星号,不可直接查看。
- DELPHI, paradox 7 中日期查询的SQL语句该怎样写?(在线等)
- (紧急求救)DBLookupComboBox就不能象TComboBox那样自己定义ItemIndex吗?
- 有没有谁用过TurboPower的控件包
- 急急急!!请问各位大虾在delphi中如何执行一(*.exe)文件???
- 我写了个文本编辑器,但与文本文件关联时出了问题!
- 如何在Delphi中改变Form边框颜色?
- 用Format批量格式化U盘遇到的问题
- 连接SQL出错,各位帮忙看下
就报错
from inv_pf_com a,inv_pf_doc c,pfs d
where a.seqno in (select * from ls_xs )
and a.seqno=c.seqno
and c.shdw=d.code
group by c.shdw,d.name,a.com_code,a.name,a.memo ,to_char(a.bzhl),round(a.bhspfj,4), round(1/(1- a.xxtax )-1,2)
order by a.com_code
这段代码是没有问题的,要如何加进去。
sqlstr:string;
begin
sqlstr:='select a.com_code,a.name, a.memo , ''1*'' || to_char(a.bzhl),sum(a.sl) ,round(a.bhspfj,4), round(sum(a.lsje*(1-a.xxtax)),4),round(1/(1- a.xxtax )-1,2)*100||''%'',round(sum(a.lsje-a.lsje*(1-a.xxtax)),4),c.shdw,d.name from inv_pf_com a,inv_pf_doc c,pfs d where a.seqno in (select * from ls_xs ) and a.seqno=c.seqno and c.shdw=d.code group by c.shdw,d.name,a.com_code,a.name,a.memo ,to_char(a.bzhl),round(a.bhspfj,4), round(1/(1- a.xxtax )-1,2) order by a.com_code';adoquery1.SQL.Add(sqlstr);
这样要分成两个sqlstr,一个要超过255的限制。这个问题已经解决。
现在又出现list index out of bounds(1)