Rss & SiteMap

Foxtable(狐表) http://www.foxtable.com

新一代数据库软件,完美融合Access、Foxpro、Excel、vb.net之优势,人人都能掌握的快速软件开发工具!
共11 条记录, 每页显示 10 条, 页签: [1] [2]
[浏览完整版]

标题:OuterTableBuilder 问题~

1楼
mr725 发表于:2009/7/21 21:47:00

图片点击可在新窗口打开查看此主题相关图片如下:未命名.jpg
图片点击可在新窗口打开查看

既然狐表中可以生成mls表,如果没有这个提示就好了。
[此贴子已经被作者于2009-7-21 22:50:51编辑过]
2楼
kylin 发表于:2009/7/21 21:55:00
那就设个主键

Foxtable可以使用Access或者Sql Server作为外部数据源,外部数据表最好使用自动增量型主键,这样使用起来和内部数据表基本没有差别。
使用外部数据源,可以实现代码和数据隔离,带来更好的安全性,如果使用Sql Server所谓外部数据源,还会带来更好的性能。
如果需要利用互联网协作运行,那么必须使用外部数据源。

3楼
mr725 发表于:2009/7/21 22:19:00
谢谢!~    只可惜我不会sql。呵呵。只能使用用内部表了。
另外,我图片中说了,mls本身就不是一个外部表,是我想建立的一个临时表,哪来什么主键?。请教:将外部表(t_Account) 引入到一个临时表(mls) ,应该怎样做啊~  
4楼
kylin 发表于:2009/7/22 7:55:00

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()

5楼
梦倩 发表于:2009/7/22 8:47:00
用QueryBuilder,不需要主键
6楼
mr725 发表于:2009/7/22 11:08:00
谢谢各位老师!~    我的代码写完了:    全部代码都能执行完成且效果非常好,只是出现一楼的的那个提示(不影响继续执行代码)  . 怪就怪在下面的那个临时表.


'增加临时表:::::::::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", "", "代码一级","二级","三级")

执行后的效果:非常理想!~


此主题相关图片如下:未命名.jpg
按此在新窗口浏览图片
[此贴子已经被作者于2009-7-22 11:36:14编辑过]
7楼
狐狸爸爸 发表于:2009/7/22 11:34:00

用QueryBuilder代替OutTableBuilder,就没有这个提示

8楼
wcs 发表于:2009/7/22 11:40:00

这确实不错!

9楼
mr725 发表于:2009/7/22 11:44:00
以下是引用狐狸爸爸在2009-7-22 11:34:00的发言:

用QueryBuilder代替OutTableBuilder,就没有这个提示

果然如此~  图片点击可在新窗口打开查看 ······       还有很多有学啊~  
六楼的代码是根据金碟K3 10.4 的Sql数据库的科目表(t_Account),生成科目的目录树,有更好的办法的狐友,望能指教~~~

10楼
狐狸爸爸 发表于:2009/7/22 11:57:00
5楼的美女教你,你不听。
非得我这个帅哥出马才行。
难道美女不吃香了?


图片点击可在新窗口打开查看
共11 条记录, 每页显示 10 条, 页签: [1] [2]

Copyright © 2000 - 2018 foxtable.com Tel: 4000-810-820 粤ICP备11091905号

Powered By Dvbbs Version 8.3.0
Processed in .04297 s, 2 queries.