以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.net/bbs/index.asp)
--  专家坐堂  (http://foxtable.net/bbs/list.asp?boardid=2)
----  本地数据表 Insert into SQL数据表 ???  (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=42128)

--  作者:gsm_guan
--  发布时间:2013/11/4 21:07:00
--  本地数据表 Insert into SQL数据表 ???
老师请问:
      本地数据表的结构与SQL数据表的结构一样
      实现效果:当本地数据表录入完成满足条件后,一次性上传SQL数据表中
                  (因为像会计凭证类的,需等到借贷平衡后,才上传,然后再取凭证号码)
   命令行如下:   
   cmd.CommandText = "insert into {项目文件} select * from {暂存项目文件}"
      执行后 提示 :对象名 \'暂存项目文件\' 无效。
     如何解决这个问题?或更好的方案是什么?

--  作者:有点甜
--  发布时间:2013/11/4 21:15:00
--  
 肯定不同的,本地数据表可能会多一两列,比如_identify _sortkey _locked

 试试写上列名

 insert into {项目文件} (xxx, yyy, zzz) select xxx, yyy, zzz from {暂存项目文件}

--  作者:gsm_guan
--  发布时间:2013/11/4 21:28:00
--  

cmd.CommandText = "insert into {项目文件}(项目编号,文件) select 项目编号,文件 from {暂存项目文件}"
还是报错,如下
对象名 \'暂存项目文件\' 无效。

--  作者:有点甜
--  发布时间:2013/11/4 21:30:00
--  
 哦,明白了,你跨数据源了。肯定是不行了。
--  作者:有点甜
--  发布时间:2013/11/4 21:32:00
--  
 方法一:一条一条数据取出来,insert进去。

 方法二:把sql数据表作为外部表加进来,直接修改其数据。

--  作者:gsm_guan
--  发布时间:2013/11/4 21:37:00
--  
方法一,咋整?

方法二:肯定是不行的吧,我一张凭证有N行,当然最好是在本地表中做完(只缺凭证号),再到服务器上取凭证的,然后再一次性追加到服务器去

老师留个QQ呗

--  作者:有点甜
--  发布时间:2013/11/4 21:50:00
--  
 方法一,遍历所有的行,取出数据,拼接成一条一条的sql语句,插进去呗,只能这样了。

 比如 

insert into {项目文件} (列1, 列2) values ("1", "2")
insert into {项目文件} (列1, 列2) values ("3", "4")
insert into {项目文件} (列1, 列2) values ("5", "6")

--  作者:gsm_guan
--  发布时间:2013/11/4 22:14:00
--  
我在本地表中输入,用这个方法呀???
老师要不要再测测??
那个错误只是 提示 :对象名 \'暂存项目文件\' 无效
如果造那样一个一个的,这样整批的也应该是可以的呀

--  作者:有点甜
--  发布时间:2013/11/4 22:32:00
--  
 如果两个表在同一个数据源的话,可以用一条insert语句完成。

 如果两个表分属于两个数据源的话,就只能一条一条拼凑出来,insert进去。

--  作者:gsm_guan
--  发布时间:2013/11/5 8:43:00
--  

老师:

     是不是可以请狐表的团队们研究看看,他们应该不会没想到不同源的问题吧?,如果这个能解决的话

那狐表的功能更是强大呀