以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.net/bbs/index.asp)
--  专家坐堂  (http://foxtable.net/bbs/list.asp?boardid=2)
----  外部数据表 AddNew出错!  (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=21887)

--  作者:zoomify
--  发布时间:2012/7/26 17:57:00
--  外部数据表 AddNew出错!

建立了一个外部数据表(Sql server数据),手工可以添加行,但用下面的代码,行是显示增加了,但第二行不能执行:

Dim nr As Row =Tables("UsrA01").AddNew()
nr("A0100")="aaa"
nr.Save
换成

Dim nr As Row =Tables("UsrA01").AddNew()
Tables("UsrA01").Current("A0100")="aaa"
nr.Save

也不能执行第二行.

打过4000810820电话,电话中说,你能保证代码没有问题吗? 我是个初学者,所以不敢保证这三行代码没有问题,所以按照他的指引,先用本地数据测试了这三行代码,是可以的. 4000810820又说找这里专家就可以了.

还请这里的专家帮解决. 可以远程屏幕.先感谢!


--  作者:zoomify
--  发布时间:2012/7/26 18:00:00
--  

换代码:

Dim nr As Row =Tables("表A").AddNew()
nr("第一列")="aaa"
nr.Save

 

却是可以的,证明确实是由于用的是外部表原因.


--  作者:zoomify
--  发布时间:2012/7/26 18:04:00
--  
补充下,用的是下载的试用版本,400说不会是由于版本问题. 不会是由于数据库是本地还是外部,确实太奇怪了.等待答案.
--  作者:zoomify
--  发布时间:2012/7/26 18:07:00
--  

muhua的代码我看了,意思是用DataTables的addnew ,但帮助有:

其实我们很少直接向DataTable增加行,更多的时候,我们是向Table中增加行,原因以后会讲述。

 

但我感兴趣的是为什么本地数据就可以呢?

 


--  作者:don
--  发布时间:2012/7/26 18:10:00
--  

SQL 應該用這個:


Insert Into 语句

用于向表中添加行。
本语句不能用于内部数据表,只能向外部数据表添加行。

语法

Insert Into 表名 (列名1, 列名2, 列名3....) Values(值1, 值2, 值3...)

例如:

Insert Into 订单 (编号,产品) Values(100,\'PD01\')

表示向订单表插入一行,编号列的内容设为100,产品列的内容为PD01


--  作者:zoomify
--  发布时间:2012/7/26 18:12:00
--  
muhua的代码用了下,外部表可以通过,那是否说明: 外部表不能用Tables的addnew,只能用DataTables的addnew ?如果真是这样,希望在帮助中提醒一下.  专门用一节说明 外部表和内部表的代码控制有什么不同.
--  作者:zoomify
--  发布时间:2012/7/26 18:16:00
--  
感谢muhua和don!
--  作者:zoomify
--  发布时间:2012/7/26 18:21:00
--  

SQL 可能会简单很多,但我的项目目标是从一个数据库同步数据到另一个数据库,这样引用了两个数据源,不同数据源中的表,能用sql吗?

类似

insert into 表名1 (字段名1,字段名2,字段名3……) select 字段名1,字段名2,字段名3…… from 表名2
,但表名1和表名2是不同的数据源中的表


--  作者:jianjingmaoyi
--  发布时间:2012/7/26 19:43:00
--  
以下是引用zoomify在2012-7-26 18:12:00的发言:
muhua的代码用了下,外部表可以通过,那是否说明: 外部表不能用Tables的addnew,只能用DataTables的addnew ?如果真是这样,希望在帮助中提醒一下.  专门用一节说明 外部表和内部表的代码控制有什么不同.


 哪个跟你讲的?


--  作者:jswjyjf
--  发布时间:2012/7/26 20:24:00
--  

内容表 外部表都可以的