SQL参数化查询讲座 (十)

由于篇幅限制,也为了使读者容易地理解参数化查询的基本用法,本文只对ADOADO.NET中的参数化查询作了大致介绍,没有涉及更多的细节。这里提及几个重要的概念,有兴趣的读者可查阅本文最后列出的相关资料。

SQL中一个常见的特殊值就是NULL,它既不是0,也不等同于空字符串。初学数据库编程时千万别把它与VB中的NothingC#NullVC中的NULL混为一谈,更不能用字符串“NULL”作为参数来代替。在VB中,如果参数为NULL,把关键字Null赋值给参数即可,在.NET中则专门用DBNull类表示。

如前所述,参数可以是输入参数,也可以是输出参数或输入输出参数。本文所有例子中的参数都是输入参数,毕竟输入参数要常见得多。使用输出参数与使用输入参数不同的地方,是在执行SQL语句前不必赋值,而在执行后读取参数的值。

本文前面已经举例说明如何使用二进制数据类型的参数,不过当数据非常长时,例子中的方式并不适用。好在ADOADO.NET中都专门提供了大数据字段的输入方式,有需要的读者可查阅相应的文档。注意不是所有的驱动程序都支持大数据的高效输入。

比输入大数据字段更常见的是大批量的数据输入。如果需要输入很多行的数据,参数化方式尽管节省了编译SQL语句的时间,但还是要逐行地执行。ADOADO.NET同样也都提供了一种或多种批量输入的解决方案,这比逐行添加要高效得多。不过如果数据量非常大的话,最高效的方式应该是使用数据库开发商提供的专用接口。

 

参考文献:

1.         Visual Basic 6.0联机手册Microsoft

2.         Visual Studio.Net 2005联机手册中关于数据访问技术的章节(http://msdn.microsoft.com/zh-cn/library/wzabh8c4(v=VS.80).aspx Microsoft

3.         Visual C++.Net 2005联机手册中关于数据访问技术的章节(http://msdn.microsoft.com/zh-cn/library/7wtdsdkh(v=VS.80).aspx Microsoft

4.         Visual C++.Net 2005联机手册中关于编译器对COM技术支持的章节(http://msdn.microsoft.com/en-us/library/h31ekh7e(v=VS.80).aspx Microsoft

5.         Windows Platform SDK中关于ADOODBC的章节(http://msdn.microsoft.com/en-us/library/aa968814(v=VS.85).aspx Microsoft

6.         SQL Server 2005联机手册中关于客户端编程的章节(http://msdn.microsoft.com/zh-cn/library/ms130892(v=SQL.90).aspx Microsoft

(讲座结束,谢谢大家。欢迎跟帖交流)

评论 25
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值