以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.com/bbs/index.asp)
--  专家坐堂  (http://foxtable.com/bbs/list.asp?boardid=2)
----  请教一个动态更新表结构的办法!  (http://foxtable.com/bbs/dispbbs.asp?boardid=2&id=87321)

--  作者:xiaoohoo
--  发布时间:2016/7/8 10:17:00
--  请教一个动态更新表结构的办法!
目前情况是这样:

1、项目已发布,使用的sqlserver数据库。
2、其中一个表创建时不小心选择了内部数据源,已发布。
3、目前想把此内部表转换为外部sqlserver表。

已尝试帮助,未找到合适的办法,在此请教合适的思路。
(目前已在BeforeConnectOuterDataSource事件中使用sql创建表,但用的是很方便



--  作者:大红袍
--  发布时间:2016/7/8 10:20:00
--  
 在项目里面,重定向,然后重新发布更新原来的。
--  作者:xiaoohoo
--  发布时间:2016/7/8 10:28:00
--  
客户端数据库是不能动的。


--  作者:大红袍
--  发布时间:2016/7/8 10:41:00
--  
 把你的项目重定向,然后把这个项目给用户使用,就行了啊。
--  作者:xiaoohoo
--  发布时间:2016/7/8 10:44:00
--  
解释下:
开发机器上是测试数据库。
客户处的数据库已在软件前一版本使用。

重定向只能到定向至我的测试数据库。
重定向后再发布项目给交给客户(只有软件,无数据库),客户的数据库上没有新的表,打开时会自动创建表吗?



[此贴子已经被作者于2016/7/8 10:47:08编辑过]

--  作者:大红袍
--  发布时间:2016/7/8 10:50:00
--  

必须用代码新建表

 

http://www.foxtable.com/bbs/dispbbs.asp?BoardID=2&ID=42378&skin=0

 

http://www.foxtable.com/webhelp/scr/2122.htm

 

 

 

 

 

 


--  作者:xiaoohoo
--  发布时间:2016/7/8 11:43:00
--  


之前思路不同无法用,现在这个方法可用。


项目使用外部数据源

1、AfterOpenProject事件,ADOXBuilder创建表。

2、OuterTableBuilder创建表。

3、此时添加的外部表是一个临时表,每次启动时都要使用OuterTableBuilder创建,无法设置列属性等

此时可对此表数据进行引用。








--  作者:大红袍
--  发布时间:2016/7/8 11:46:00
--  

3、你的内部表重定向到sqlserver数据库。设置打开时候不加载此表。

 

拷贝项目过去给用户,打开后,如果不存在,就创建一个外部表,如果存在,就加载这个表进来。


--  作者:xiaoohoo
--  发布时间:2016/7/8 12:02:00
--  
图片点击可在新窗口打开查看,这个方法也可用了, 没错误提示~谢谢!