VFP+SQL 连接串写在哪里为标准?
近期做一个VFP+SQL SERVER 2000 的软件. 在浏览数据时有时候提示错误,有时候没提示。我先具体情况简述如下:一、首先VFP+SQL的连接串代码写在MAIN.PRG文件里了,程序执行时只需要连接一次。然后其他表单的INIT事件里直接引用连接串的变量就可以实现插入数据,视图浏览等操作。自我感觉这样比较方便。
二、客户端有几个表单,是用来分别浏览SQL数据的。每个表单有一个GRID表格,表单INIT事件代码是将数据表下载到本地的临时表。为了表格好看,每个列宽,标头字体,背景色都做了设定。例如:thisform.grid1.column1.header1.capion='处罚依据'
......
thisform.grid1.column7.header1.capion='日期'
thisform.grid1.column1.width=180
......
thisform.grid1.column7.width=85
共有5个表单,都有这样的设置。运行时,打开一个表单表格数据显示正常。然后关闭。再打开另一个表单显示或许也是正常的(或许就会错误提示,但关掉错误提示,再次打开该表单显示又正常),再继续打开一个表单同上所述。有时会报错,有时不会。错误提示为“不能识别的成员 COLUMN7” 或是“不能识别的成员 COLUMN5”。
经过我的反复查看分析, 我觉得是这样的。首先我把提示的错误关掉,再执行该表单,错误就没有了,一切正常。说明表单里的代码没有问题,否则每次执行都会出错。应该表单与表单之间出现了问题。如果当前打开的表单GRID列只有6列,关闭后在打开下一个表单(GRID有7列),有时就会报错误,提示不能识别COLUMN7;如果当前打开的表单GRID列只有4列,关闭后在打开下一个表单(GRID有5列),也是有时会报错误,提示不能识别COLUMN5。然尔把错误关闭,再次打开报错的表单,显示又一切正常。虽然我发现了这个问题所在,但却不知是何原因。
我现在怀疑是不是我把VFP+SQL连接串写在了MAIN.PRG程序里造成的呢?因为每个表单打开后,直接引用连接串变量与SQL服务器进行交互,但每个表单关闭后又没有与SQL断开的语句,再次打开其他表单造成了程序不稳定?那么要把VFP+SQL连接串在每个表单INIT事件里都写入,然后表单关闭再断开。这样频繁地与服务器连/断可以吗?
标准来说,VFP+SQL连接串代码应该如何处理?请高手指教!!!如果不是这个原因请帮忙分析。