以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.net/bbs/index.asp)
--  专家坐堂  (http://foxtable.net/bbs/list.asp?boardid=2)
----  [求助]1:发布新项目后,如何禁止使用旧项目?2:字典输出顺序不理解,求解。谢谢。  (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=94543)

--  作者:ksaa16888
--  发布时间:2016/12/26 15:11:00
--  [求助]1:发布新项目后,如何禁止使用旧项目?2:字典输出顺序不理解,求解。谢谢。
一、采用外部ACCESS数据库,放到服务器上,每台局域网电脑用发布的项目(1.0版本)链接到该服务器ACCESS数据源和表。
对1.0中的数据、用户权限等进行了改动,重新发布了项目1.1,这个时候发现纠结的地方:
1、通知了各用户换成1.1版本,但还是有没换的,结果1.0和1.1同时在用,1.1中不允许的权限,用1.0版本的还是照常有权限。
2、服务器中只有数据ACCESS文件和用户ACCess文件。没办法去检测发布项目版本,也没办法禁止使用旧版本,没办法去提示用户更换新版本。
应该如何处理比较好?
二、字典数据看示例一直没搞明白输出结果的顺序为什么是这样子的,桃子这个值是最后才加进去的,为什么显示在首位,苹果的键值为1,反而显示在最后,难道增加、逐个显示时是有指针吗?

Dim zd As New Dictionary(Of Integer, String)

zd.Add(1,"苹果")

zd.Add(2,"香蕉")

zd.Add(3,"波罗")

zd.Add(4,"桔子")

zd.Add(5,"桃子")

zd.Remove(1) \'移除键1及其对应的值

zd.Remove(5) \'移除键5及其对应的值

If zd.ContainsKey(1) = False Then \'是否存在键1

    zd.Add(1,"苹果")

End If

If zd.ContainsValue("桃子") = False Then \'是否存在值"桃子"

    zd.Add(5,"桃子")

End If

For Each k As Integer In zd.Keys \'显示所有键及其对应的值

    Output.Show(K & ":" & zd(k))

Next


输出结果:

5:桃子

2:香蕉

3:波罗

4:桔子

1:苹果




--  作者:有点色
--  发布时间:2016/12/26 15:28:00
--  

1、没有办法通知旧版本升级的。

 

你做程序的时候,就应该加上自动升级的功能,这样你只要升级了,自然就有提示了的。

 

现在有一个变通的方法,修改一下数据库名、或者表名、或者列名,这样客户端就会报错,然后你让他们升级到最新的1.2版,1.2版你记得要加上自动升级功能。

 

2、remove掉以后,如果你add新的数据,优先填入那个remove掉的位置去的。