加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 大数据 > 正文

VB6中数据库参数化查询的技巧

发布时间:2020-12-16 23:01:56 所属栏目:大数据 来源:网络整理
导读:通常对数据库的查询和操作,大家习惯于拼接sql语句,在论坛上也经常有拼接sql语句方面的问题,让许多初学者深感头痛,即使是老手,遇到复杂的拼接也难免会出错。其实访问数据库我们有更好的选择,这就是参数化查询,这种方法高效安全,又可以省掉程序中拼接s

通常对数据库的查询和操作,大家习惯于拼接sql语句,在论坛上也经常有拼接sql语句方面的问题,让许多初学者深感头痛,即使是老手,遇到复杂的拼接也难免会出错。其实访问数据库我们有更好的选择,这就是参数化查询,这种方法高效安全,又可以省掉程序中拼接sql的麻烦。不过呢,这方面的介绍不是很多,有介绍通常的方法似乎比较烦琐,不能写成通用的方法函数,所以好象使用的人比较少。最近小小的研究了一下,有所发现,备忘在此,共大家参考:

以下示例,基于xp sp3 + ADO2.8 + sql server 2000 (或者Access 2003)
常见的方法:

从上面的示例可见,要将参数化查询写成一个通用的方法或函数,的确有点困难。在尝试过程中,我偶然发现,其实cmd.Parameters这个集合,有些数据库存引擎提供了自动序列化的功能,并不要一项项的Append。而且效率远高于Append方法,以下是示例:

这个方法同样也可以用于sql数据库的存储过程,只是要注意二点:一是存储过程的用户第一个参数的序号是1,序号0参数已经用于存储过程内部的事务;二是输出参数不用赋值。
我这儿的活就是程序要同时访问不同平台的数据库,总想找出一个通用高效安全的方法,所以才有以上的发现,这样,虽然不是所有数据引擎都提供Parameters的序列化,但结合vb6提供的多态性,总算包装了一个适用目前要求的dll。
好了,上面只是一点编程心得,还有许多要完善的地方,有兴趣的可以继续深入。

(另外,示例代码是整理出来的思路,没有实测,可能有错误,只供参考...)

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读