Rss & SiteMap
Foxtable(狐表) http://www.foxtable.com
Foxtable可以使用Access或者Sql Server作为外部数据源,外部数据表最好使用自动增量型主键,这样使用起来和内部数据表基本没有差别。
使用外部数据源,可以实现代码和数据隔离,带来更好的安全性,如果使用Sql Server所谓外部数据源,还会带来更好的性能。
如果需要利用互联网协作运行,那么必须使用外部数据源。
2个错误:
1、OuterTableBuilder的数据只能来自于一个外部表,你这里是内部表
2、内部表就不要用,connectionname这个语句
试试这个:
Dim cmd As New SQLCommand
Dim
dt As
DataTable
cmd.CommandText = "Select Dstinct Fnumber,FFullName From {t_Account} "
dt = cmd.ExecuteReader()
'增加临时表:::::::::FFullName是外部表t_Account中的一列 如::管理费用_社会保险费_养老::::::::::
Dim q As new OuterTableBuilder
q.TableName = "mls" '这本来是外部表名的(可我的外部数据源中没有该表), 但是执行后,生成了一个内部临时表
q.Connection Name = "fjcatictz" '这个Connection Name 之间没有空格
q.SelectString = "SELECT DISTINCT FNumber,FFullName From {t_Account}"
q.Build
'在{临时表 mls} 中添加列、::::::::::::::::::::::::::::::::
With DataTables("mls")
.DataCols.Add("代码一级", GetType(String), 32)
.DataCols.Add("二级", GetType(String), 32)
.DataCols.Add("三级", GetType(String), 32)
End With
'给新增列赋值:::::::::::::::::::::::::::::
Dim dr As DataRow
for i as integer = 0 to datatables("mls").datarows.count-1
dr = DataTables("mls").DataRows(i)
dr("代码一级") = dr("FNumber").split(".")(0) & " " & dr("FFullName").split("_")(0)
if dr("FFullName").split("_").length =2 then
dr("二级") = dr("FFullName").split("_")(1)
elseif dr("FFullName").split("_").length =3 then
dr("二级") = dr("FFullName").split("_")(1)
dr("三级") = dr("FFullName").split("_")(2)
end if
next
'在test表中(也可以是任意一个内部表),生成目录树:::::::::::::::::::::::::::::
MainTable= Tables("test")
Forms("科目树").Controls("TreeView1").BuildDataTree("mls", "", "代码一级","二级","三级")
执行后的效果:非常理想!~
用QueryBuilder代替OutTableBuilder,就没有这个提示
这确实不错!
用QueryBuilder代替OutTableBuilder,就没有这个提示
果然如此~ ······ 还有很多有学啊~
六楼的代码是根据金碟K3 10.4 的Sql数据库的科目表(t_Account),生成科目的目录树,有更好的办法的狐友,望能指教~~~