我在做自己的条形码系统中遇到如下两个问题:
有table1中的field1
1.vb自动产生一个5位数a,把a转化为字符窜,然后split它,每个数字为一个数组元素,5个数组元素再自由组合为一个字符窜,接着如果field1中没有该字符窜就添加该值,如果存在就再组合,或者再产生一个5位数,总之当记录数<=10^5时每次操作都得要插入一个值,作为主键的值.使用时间长了,当table1的数据(记录数<=10^5)庞大起来的时候,这个操作的效率就会越来越低,想问有什么办法提高其效率?使用自动id类型效率应该会好点,对吗?如果有什么更好的算法请赐教?
2.希望程序在每天的18:00:00都可以弹出窗口提示用户干某事的时间到了.数据库后台用的是access
有table1中的field1
1.vb自动产生一个5位数a,把a转化为字符窜,然后split它,每个数字为一个数组元素,5个数组元素再自由组合为一个字符窜,接着如果field1中没有该字符窜就添加该值,如果存在就再组合,或者再产生一个5位数,总之当记录数<=10^5时每次操作都得要插入一个值,作为主键的值.使用时间长了,当table1的数据(记录数<=10^5)庞大起来的时候,这个操作的效率就会越来越低,想问有什么办法提高其效率?使用自动id类型效率应该会好点,对吗?如果有什么更好的算法请赐教?
2.希望程序在每天的18:00:00都可以弹出窗口提示用户干某事的时间到了.数据库后台用的是access
2.18:00:00一到,sub heyheyhey()就要执行,不到就不执行.
你可不可以不用纯的随机数
我的想法是这样的
你需要一个记数空间(可能不小,大概要10^5)来存一下你用过的数
你每生成一个随机数,就用HASH算法放到空间中
不过我想的方法效率也不高
比如,现在随机出1~9的数,我放到一个空间为9的地方记录
随机数序列:(可能的情况)
4,7,5,3,4,8,5,1,9,3,3,2,7,6
空间中记录的顺序
000400000
000400700
000450700
003450700
003450700(4出现了冲突,软件自动向后寻找空位,4+2的位置是空的,我们认为插入的随机数是4+2)
003456700
003456780
003456780(5出现了冲突,软件自动向后寻找空位,5+4的位置是空的,我们认为插入的随机数是5+4)
003456789
103456789
103456789(9出现了冲突,软件自动向后寻找空位,但是没有,自动从头开始,第n位有空,我们认为插入的随机数是n)
123456789
123456789(3出现冲突,软件自动向后寻找,找不到,从头也没有,无法插入,满了)
这样虽然也很慢,但是不用再生成随机数,由系统自动调整
第二个问题一会再说
弄个定时器,每30000s(最大不是65535ms么)
检测一下系统的时钟(date()函数)
看看时间到了没,到了就call heyheyhey
这个问题是我用来为没有条形码的商品根据其类别(该数字列就表示了商品的类别--当然是包含了父子类别的了)来自己设计并自动打印条形码.
第二个问题,我也考虑到你们的方法,我是觉得直接利用timer 控件,效率会有点问题,如果这样可以的话,我完全可以设置为每秒钟检查一次系统时间的啊,这样就保证准确了.也许在这里使用一下doenvents还可以如果楼下也没有什么好的办法的话,就只能这样了
2.设计条形码打印系统,把以"1*"的商品都查询出来,将其id号打印出来作为条形码上的识别数字
就作为barcode control 的value属性,使用bitblt 等几个api函数,配合stream对象,把它存到数据库去,等商店在使用过程中,缺少那些就查询出那些来打印.