if   (form1.table1.FieldByName(combobox1.Text).AsString=edit5.Text )
 then
begin
with query1 do
   begin
    close;
   sql.clear;
       sql.add('Select * From "db\show.db" As show');
     sql.add('where 署名 between :date1 and :date2   ');
 parambyname('date1').Value:=ComboBox1.text;//strtodate(datetostr(DateTimePicker1.Date));
  parambyname('date2').Value:=ComboBox1.text;
????? sql.add('ORDER BY  日期  ASC  ');
open;
    last;
    end;

解决方案 »

  1.   

    参见BDE里面关于视图的修改帮助
    TQuery 和 TUpdateSQL的部分
      

  2.   

    f (form1.table1.FieldByName(combobox1.Text).AsString=edit5.Text )
    then
    begin
    with query1 do
    begin
    close;
    sql.clear;
    sql.add('Select * From "db\show.db" As show');
    sql.add('where 署名 between :date1 and :date2 ');
    sql.add('ORDER BY 日期 ASC ');
    parambyname('date1').Value:=ComboBox1.text;//strtodate(datetostr(DateTimePicker1.Date));
    parambyname('date2').Value:=ComboBox1.text;
    open;
    last;
    end;
      

  3.   

    是open与active ,execsql有冲突吗
      

  4.   

    楼主真让人无奈,这么多天都没解决?没在网上找到帖子?这是视图修改的问题,一个视图要能被修改时需要很多条件的,(如果你是计算机专业的,数据库理论里面会有的)不同的数据引擎对视图支持的也不一样,BDE最严格,ADO比较松。BDE认为不是按照主键排序(order by)的视图也是不能修改的,
    不可修改的视图需要自己手工写SQL,TSQLUpdate就提供了修改视图的方法。