数据库插入数据的问题!(50)

  • 主题发起人 主题发起人 ucgypm
  • 开始时间 开始时间
U

ucgypm

Unregistered / Unconfirmed
GUEST, unregistred user!
我本地有个数据库 test ,数据库里有个 f_info 表,在远程服务器端还有个数据库 test ,数据库也有个 f_info 表,两个表的字段完全相同我想把本地的 f_info 表中的数据完全插入到 服务器端的 f_info表。应该怎么实现!!
 
通过ODBC进行连接,然后通过建立数据源进行操作啊!难道还有比这更简单更方便的方法吗?
 
我用odbc连接成功了!用ADOQuery 进行查询!insert to (字段1,字段2...) values(值1,值2...) 但是表中的字段很多,所以我想问下因为表结构和数据库都是一样的,所以有什么方便的insert 吗?
 
With AdoQuery1 Do Begin If Active Then Close ; SqlStr := ' Insert Into table( ' ; SqlStr1 := ' Values( ' ; For I := 0 To FieldCount - 1 Do Begin SqlStr := SqlStr + Fields[ I ].FieldName + ',' ; Case Fields[ I ].DataType Of ftWideString : SqlStr1 := SqlStr1 + '''' + FieldByName( Fields[ I ].FieldName ).AsString + ''',' ; ftSmallint : SqlStr1 := SqlStr1 + FieldByName( Fields[ I ].FieldName ).AsString + ',' ; ftInteger : SqlStr1 := SqlStr1 + FieldByName( Fields[ I ].FieldName ).AsString + ',' ; ftBoolean : If FieldValues[ Fields[ I ].FieldName ] Then SqlStr1 := SqlStr1 + 'True,' Else SqlStr1 := SqlStr1 + 'False,' End ; End ;sqlstr:= sqlstr+sqlstr1;这样就自动生成SQL语句了,呵呵。
 
没有看太明白!AdoQuery1 这个是连接的远端库吗??SqlStr := ' Insert Into table 也是远端的表吗?往下 Values( ' ; For I := 0 To FieldCount - 1 Do值是从本次查询出来的吗 ?
 
学习一下!
 
AdoQuery 连接本地数据库AdoQuery1连接了远端数据库!!总想是不是有这样的语句!!insert into f_info select * from f_info 但困扰两个库之间如何连接呢?
 
是的,你先要用AdoQuery1 做一个查询,查询本地的数据库。table是服务器的表名。然后用生成的SQLSTR进行远程数据库插入操作。With AdoQuery1 Do Begin If Active Then Close ; 。。。。。 。。。。。//在这进行一个查询操作,具体怎么查你自己弄 SqlStr := ' Insert Into table( ' ; SqlStr1 := ' Values( ' ; For I := 0 To FieldCount - 1 Do Begin SqlStr := SqlStr + Fields[ I ].FieldName + ',' ; Case Fields[ I ].DataType Of ftWideString : SqlStr1 := SqlStr1 + '''' + FieldByName( Fields[ I ].FieldName ).AsString + ''',' ; ftSmallint : SqlStr1 := SqlStr1 + FieldByName( Fields[ I ].FieldName ).AsString + ',' ; ftInteger : SqlStr1 := SqlStr1 + FieldByName( Fields[ I ].FieldName ).AsString + ',' ; ftBoolean : If FieldValues[ Fields[ I ].FieldName ] Then SqlStr1 := SqlStr1 + 'True,' Else SqlStr1 := SqlStr1 + 'False,' End ; End ;sqlstr:= sqlstr+sqlstr1;//在这生成插入语句。。。。//用这个语句进行操作不用我说了吧。
 
接受答案了.
 
后退
顶部