query1.add 传递的仅仅是字符串.直接用zybmk不行,你试试下面的代码:
query1.sql.add('create table '+zybmk+' (bmxh char(8)not null unique,kh char(9),'+''''+xm+''''+' char(8),xb char(2))');

解决方案 »

  1.   

    var
    zybmk,dbf1,xm:string;begin
     zybmk:='aaaa.db';
     dbf1:='ddd.dbf';
     xm:='xmk';
    if query1.active then
                  query1.active:=false;
                  query1.sql.clear;
                   //Update
                  query1.sql.add('create table '+zybmk +'(bmxh char(8)not null unique,kh char(9),'+''''+xm+''''+' char(8),xb char(2))');
                  //Add
                  query1.ExecSQL;              
                  //Update
                  query1.sql.add('create table '+dbf1+'(kh,char(9),xm char(8))');
                  //Add
                  qquery1.ExecSQL;
                  showmessage('完成!');
      

  2.   

    还是不行呀。
    走到这里就出错。query1.ExecSQL;
    提示错误信息:capability ont supported.
      

  3.   

    建立什么样的表格式应该不是写扩展名就能实现的吧,这与BDE或ADO的数据库引擎有关吧(个人关点,作个参考)
      

  4.   

    QUERY支持CREATE吗?
    我试过CREATE在FOXPRO里面可以,用QUERY就不行了。是不是方法不对呀.
    哪位大侠可以帮我解决。很急。。
      

  5.   

    create 是sql最基本的语句,QUERY支持,我在QUERY试过没问题,而且drop table 等都是可以用的。
    ''''+xm+''''+' char(8)这一段我总觉得不对,是不是可以改成
     '+xm+' char(8)。如果是 ''''+xm+''''的话,那么,query控件解
    释的将是 bmxh char(8)not null unique,kh char(9),'xmk' char(8),xb char(2)。唯独xmk处有引号
      

  6.   

    我试了,但还是不行。后来,我干脆把变量去掉却还是出错!!!!!!!!还是提示:capability ont supported.
      

  7.   

    liuren2001(小任):
        你好,请注意看我的回复,我已经改过了。但还是不行