Oracle中可用database link ,server不详(至少可用开发工具vb,delphi复制吧)

解决方案 »

  1.   

    query1.close;
    query2.close;
    query1.sql.clear;
    query2.sql.clear;
    query1.sql.add('select field1 from table1');
    query2.sql.add('select field1 from table2');
    query1.open;
    query2.open
    while not query1.eof do
    begin
        query2.insert;
         query2.fieldbyname('field1').asstring:=query1.fieldbyname('field1');
       query1.next;
    end;
      

  2.   

    我按照笑哥哥的方法这样写,
    query1.close;
    query2.close;
    query2.sql.add('select bz from J__ZJGC');
    query1.open;
    query2.open
    while not query1.eof do
    begin
        query2.insert;
         query2.fieldbyname('BZ').asstring:=query1.fieldbyname('备注');
       query1.next;
    end;query1.sql.clear;
    query2.sql.clear;
    query1.sql.add('select 备注 from P__ZJGC');
    出现这样的问题:
    Server: Msg 156, Level 15, State 1, Line 1
    Incorrect syntax near the keyword 'close'.
    Server: Msg 170, Level 15, State 1, Line 9
    Line 9: Incorrect syntax near 'do'.
    请解释一下笑哥哥的各条语句(尤其是query2.close;)
    好吗?
    我知道菜鸟是比较麻烦的了,不要见笑:)
      

  3.   

    没事的,呵呵,我是小师弟.不会嫌麻烦的.
    您的错误可能是没有连接到数据库吧.
    考虑到你是使用ms SQL server,使用adoquery应该要方便一些.不用设置别名.
    往窗体上添加两个adoquery,设置他们的connectionstring属性,连接到您的数据库服务器.然后就行了,按照我上面的方法做不会出问题的.
    之所以要先close,是因为对query的sql进行操作的时候是不允许query是活动的.所以必须先close;
      

  4.   

    query2.fieldbyname('field1').asstring:=query1.fieldbyname('field1').asstring;
      

  5.   

    你怎么知道我用delphi 的,就是说一定要在delphi中添加adoquery才能实现罗!
    我想知道单独在sql sever里,不可以这样操作的啊?:(
      

  6.   

    如果您两个表在相同的数据库里,可以办到,如果在不同的数据库里,我不知道用SQL 语句怎么写.请告诉我您的两个表是在同一个数据库里面吗?
      

  7.   

    我想知道你的这道问题到底是问sql server里操作,还是用delphi来操作?
      

  8.   

    呵呵,在sql server里面可以通过游标来实现对两个数据库的数据copy待会给你源码.
      

  9.   

    首先您在目标库里面把表建好.我演示怎么把源库stock中的一个表userinfo的uname和psw字段的所有记录如何拷贝到目标库storemanagement 的一个表userinfo1中的 uname 和psw去.您可以根据需要适当改一下.我已经调试过了,没有问题.一下语句在查询分析器里面能够执行.
    use  stock //stock  是源库
      go
       declare @@uname char(10),@@psw  char(10),@@countno integer,@@i integer
       select @@countno=count(*) from userinfo  //userinfo 是源表
       declare  mycursor cursor for select uname,upsw from userinfo
       open mycursor
       fetch  mycursor into @@uname ,@@psw
       set @@i=1
       while  @@i<=@@countno
       begin
       use storemanagement  //storemanagement 是目标库
       
       insert into userinfo1 values(@@uname,@@psw)  //userinfo 是目标表
       use stock
      
       set @@i=@@i+1
         fetch next from mycursor into @@uname ,@@psw
    end
    close mycursor
    DEALLOCATE mycursor
      

  10.   

    在sql server中运行sql 查询分析器,在里面输入
    insert into 新表(新字段名)where select 想复制的字段名 from  数据库名.dbo.表名