我用ado 新建了一*.dbf 表 从其他表中查询了记录 想写到生成的新表中
我是先建好了表 在往里添加记录
 
如有 直接查询直接生成新表的例子也行谁有关于这样的源码 给我发一些, 学习学习,我想学习学习大家是怎样往表里添加记录的,谢谢 ADOQuery1.sql.text   :=   'insert   into   a   (aField1,aField2)   select   bField1,bField2   form   b';
我想向我上面这样插入是对的啊 ,编译能通过,但总是说语法错误啊!!!还 是俩个表的结构有什么说法啊谁有关于这样的例子给我发一些啊!!
邮箱 [email protected]

解决方案 »

  1.   

    编译能通过是因为后面是字符串,编译的时候不进行检查的。
    另外,*.dbf 可能不支持 这种Sql语句
      

  2.   

    ado_lj.SQL.Text:='insert into cbjl(yhbh,yhmc,cbh,yhdz,ssqy,khrq,cby) select yhbh,yhmc,cbh, yhdz,ssqy,khrq,cby  from  view1 IN [ODBC]'+
    [ODBC;Driver=SQL Server;UID=sa;PWD=;Server=127.0.0.1;DataBase=zls;] where '+ cbyid='+ado_cx.fieldbyname('intabmanid').AsString+' and xiaohu=0 and bt=0 ';
    这是插入语句,ado_lj连接到你创建的DBF表中,另外用这个连接串来连接:
    adoconnection3.ConnectionString:='Provider=Microsoft.Jet.OLEDB.4.0;Data Source='+source+';Extended Properties=dBase 5.0;Persist Security Info=False';
    这边只是连接到一个文件夹.source为DBF表所在的路径............这样就可以采用批量插入的方法.而不用单独一条条的赋值语句来写入数据..
      

  3.   

    稻草人
    view1 IN [ODBC]'+
    [ODBC;Driver=SQL Server;UID=sa;PWD=;Server=127.0.0.1;DataBase=zls;] where '+ cbyid='+ado_cx.fieldbyname('intabmanid').AsString+' and xiaohu=0 and bt=0 ';
    没有看明白 from后面这些
    后面不就需要跟个表名,where跟条件吗??
      

  4.   

    跟个表名,看清楚了,我的是 from view1 从视图中取数据,表中也是一样的,只不过这个连接是连接到DBF表的,所以,在从SQL中查询表(视图)时,要改用这样的语句:用哪种驱动,从哪个服务器,哪个数据库中找到这个表(视图).............至于WHERE当然是根据你自己的需要来写的咯,