今天刚刚发现的一个现象,以前从来没注意过,应该是个隐藏的Bug如:
public cn as ADODB.Connection我以前把cn定义为全局变量,程序开始时建立数据库连接,中间就一直使用该连接操作数据库,程序关闭时结束连接但今天发现这样有问题,我在一个产生报表的函数中,多次调用adoRs.open strSql,cn,并在循环中调用adoRs.open,最后发现这不是无限可以打开的,有一个极值,到了后就无法连接数据库了,程序会中断在adoRs.open这句,如果等待一段时间,就又可以继续执行。
adoRs 为ADODB.Recordset,每次调用完后都有close我就想知道这个极值是多少?百度上无法查到现在我创建了第二个连接,比如cn2,把其中一些adoRs.open用cn2连接去调用,这样程序就没问题了你们有碰到过这问题吗?那个连接的极值到底是多少?有比较规范的调用数据库的样例程序可以发下吗?
public cn as ADODB.Connection我以前把cn定义为全局变量,程序开始时建立数据库连接,中间就一直使用该连接操作数据库,程序关闭时结束连接但今天发现这样有问题,我在一个产生报表的函数中,多次调用adoRs.open strSql,cn,并在循环中调用adoRs.open,最后发现这不是无限可以打开的,有一个极值,到了后就无法连接数据库了,程序会中断在adoRs.open这句,如果等待一段时间,就又可以继续执行。
adoRs 为ADODB.Recordset,每次调用完后都有close我就想知道这个极值是多少?百度上无法查到现在我创建了第二个连接,比如cn2,把其中一些adoRs.open用cn2连接去调用,这样程序就没问题了你们有碰到过这问题吗?那个连接的极值到底是多少?有比较规范的调用数据库的样例程序可以发下吗?
据说但进程最大是64,对于access来说。
这个用 JOIN 连接只要一次查询,报表通常有分组功能,根本不需要反复查询。