以文本方式查看主题

-  Foxtable(狐表)  (http://www.foxtable.com/bbs/index.asp)
--  专家坐堂  (http://www.foxtable.com/bbs/list.asp?boardid=2)
----  [分享]数据源名称的简单设置  (http://www.foxtable.com/bbs/dispbbs.asp?boardid=2&id=35655)

--  作者:don
--  发布时间:2013/6/29 18:49:00
--  [分享]数据源名称的简单设置
相信许多狐友,包括一些老手,做系统是从内部表开始的,写SQL代码开始也只是考虑内部表(帮助也是这样,最多提醒:如果使用外部数据源,记得设置数据源名称)

Dim dt As DataTable
Dim cmd As New SQLCommand
cmd.CommandText = "SELECT * From {订单}"
dt = cmd.ExecuteReader()


Dim jb As new SQLJoinTableBuilder("查询表1","订单")
jb.AddCols("日期", "数量","单价")


Tables("窗口1_Table1").Fill("Select * From {客户}",True)


这本来没有什么不妥,但随着水平的提高及数据量的增加,转为外部数据源是必然的选择!也许有狐友说:加上数据源不就完了!

是要加上数据源,但应该怎如何加上,才能通用及易于维护?

如在收尾阶段才来改的话,只怕也让你头痛不已:一个项目代码少说也有好几百页A4纸,一个更改不易,且容易漏网!

经过试验,我以为这样设置较易维护:

\'一. 设全局变量
Public cmd1 As SQLCommand
Public cns3 As String  \'数据源  

\'二.AfterOpenProject事件

cns3 = Nothing   \'内部表为:Nothing,转为外部表时在此更改即可! 
cmd1 = New SQLCommand  \'专用为本项目
cmd1.ConnectionName = cns3  \'数据源 


\'三.各处需设置数据源的地方

Dim dt As DataTable
cmd1.CommandText = "SELECT * From {订单}"
dt = cmd1.ExecuteReader()


Dim jb As new SQLJoinTableBuilder("查询表1","订单")
jb.ConnectionName = cns3   \'不管3721,写上数据源
jb.AddCols("日期", "数量","单价")
 

Tables("窗口1_Table1").Fill("Select * From {客户}",cns3,True)   \'不管3721,写上数据源

[此贴子已经被作者于2013-6-29 18:53:41编辑过]

--  作者:lsy
--  发布时间:2013/6/29 18:54:00
--  
此时不顶,更待何时?
--  作者:qq121454970
--  发布时间:2013/6/29 18:59:00
--  

这个我前2天才想起这样干,稳坐板凳


--  作者:jianjingmaoyi
--  发布时间:2013/6/29 20:41:00
--  
不错
--  作者:swaterj
--  发布时间:2013/6/29 21:23:00
--  
好贴,当然要顶!
--  作者:zerov
--  发布时间:2013/6/29 21:57:00
--  
 经验之谈,确实重要,想到最后才来设置或更改数据源,麻烦,易错!
--  作者:夕然
--  发布时间:2013/6/29 23:44:00
--  
don对的,我也有这个需要
--  作者:migold
--  发布时间:2013/6/30 15:49:00
--  
顶,学习了
--  作者:pyh6918
--  发布时间:2013/6/30 18:02:00
--  
好经验,多谢分享!
--  作者:狐狸爸爸
--  发布时间:2013/7/1 15:05:00
--  

好主意,精华。

图片点击可在新窗口打开查看