我这样写对吗?
with query1 do
    begin
    Close;
    sql.Clear;
    sql.Add ('query.excute "create table tablename1 select * from dc where jyrq>=:p_text1 and jyrq<=:p_text2 order by jyrq"');
    ParamByName('tablename1').asstring:=ExtractFileName(SaveDialog1.FileName);
    ParamByName('p_text1').asstring:=combobox1.text;
    ParamByName('p_text2').Asstring:=combobox2.text;
    query1.ExecSQL;

解决方案 »

  1.   

    你用的什么类型的库呀?foxbase?
      

  2.   

    sql.Add ('query.excute "create table tablename1 select * from dc where jyrq>=:p_text1 and jyrq<=:p_text2 order by jyrq"');
    改成这个,试试看:
    sql.Add ('create table tablename1 select * from dc where jyrq>=:p_text1 and jyrq<=:p_text2 order by jyrq');
    不过你的这个 create table 语句比较的奇怪,不知道对不对?呵呵,我没见过。
      

  3.   

    我开始的时候时这么写的!后来才改成我在上面写的那样的,从一本书上看来的!
    我的库是ACCESS的,我用ClongCenter写的这种方法时,总是告诉我期待select,update,delete,insert,proceduce,出现。感觉好像是create 命令无小似的!
      

  4.   

    with query1 do
        begin
        Close;
        sql.Clear;
        sql.Add (' select * into tablename1 from dc where jyrq>=:p_text1 and jyrq<=:p_text2 order by jyrq"');
        ParamByName('tablename1').asstring:=ExtractFileName(SaveDialog1.FileName);
        ParamByName('p_text1').asstring:=combobox1.text;
        ParamByName('p_text2').Asstring:=combobox2.text;
        query1.ExecSQL;
      

  5.   

    整段代码是这样的,帮我看看哪里错了好吗?(Access库)
    procedure Ttest_querybyrq.Button2Click(Sender: TObject);
    var
    p_text1,p_text2,tablename1:string;
    begin
      savedialog1.Filter:='dbf files (*.dbf)|*.dbf';
      if savedialog1.Execute then
      begin
        with query1 do
        begin
        Close;
        sql.Clear;
        sql.Add (' select * into :tablename1 from dc where jyrq>=:p_text1 and jyrq<=:p_text2 order by jyrq"');
      //  sql.Add ('create table tablename1 select * from dc where jyrq>=:p_text1 and jyrq<=:p_text2 order by jyrq');
        ParamByName('tablename1').asstring:=ExtractFileName(SaveDialog1.FileName);
        ParamByName('p_text1').asstring:=combobox1.text;
        ParamByName('p_text2').Asstring:=combobox2.text;
        query1.ExecSQL;
        showmessage('数据导出完毕!');
        end;
      end;
    end;
      

  6.   

    首先你必须确认数据库连接没有问题。
    第二,你从SaveDialog1中找到的是库文件的名称,不是表的名称。
      

  7.   

    如果要复制Access数据库不用数据库连接就可以实现,只要把Access文件另存为就可以了(即复制)
      

  8.   

    另存?具体怎么实现呢?
    我想把它导出成为一个dbf格式的文件,这样所有的数据库不是都可以打开吗?
      

  9.   

    另存就是文件拷贝,导出成为DBF的文件我就不知道如何做了。
    其实用什么作数据库不重要,只要程序里能进行操作就行了