|
|
我在主程序中将mysql数据库句柄传入DLL中,DLL经过cha询得到结果后,释放记录集时,程序崩溃,有老师帮我解决问题吗?
主程序中部分代码
.版本 2
.子程序 _按钮_转到DLL_被单击
测试 (全_数据库句柄, 编辑框_语句.内容)
DLL中部分程序
.版本 2
.子程序 测试, , 公开
.参数 数据库句柄, 整数型
.参数 测试cha询语句, 文本型
全_数据库句柄 = 数据库句柄
全_测试cha询语句 = 测试cha询语句
载入 (窗口1, , 假)
返回 ()
.版本 2
.支持库 mysql
.程序集 窗口程序集_窗口1
.子程序 _按钮1_被单击
.局部变量 sanjimulumingcheng, 文本型
信息框 (sanjimulumingcheng, 0, , )
' ========== 第一步:先释放上一次残留记录集,防止重复释放崩溃 ==========
.如果真 (全_记录集 ≠ 0)
释放记录集 (全_记录集)
全_记录集 = 0
.如果真结束
' ========== cha询必须用【cha询SQL】,不能用执行SQL ==========
.如果真 (执行SQL语句 (全_数据库句柄, 全_测试cha询语句) = 假)
信息框 (“云数据库执行cha询失败!”, 0, , )
返回 ()
.如果真结束
全_记录集 = 取记录集 (全_数据库句柄)
' 判断记录集是否有效
.如果真 (全_记录集 = 0)
信息框 (“云数据库cha询失败!无记录集”, 0, , )
返回 ()
.如果真结束
信息框 (“云数据库cha询成功!”, 0, , )
输出调试文本 (“记录集指针:” + 到文本 (全_记录集))
输出调试文本 (“记录行数:” + 到文本 (取记录集行数 (全_记录集)))
' 移动到第一行,不移动读不到数据(容易空值)
到首行 (全_记录集)
读字段值 (全_记录集, “sanjimulumingcheng”, sanjimulumingcheng)
信息框 (sanjimulumingcheng, 0, , )
' 安全释放
释放记录集 (全_记录集)
全_记录集 = 0
信息框 (“sanjimulumingcheng:” + sanjimulumingcheng, 0, , )
|
|