大家在使用ADO过程中,发现了许多ADO缺点,建立并执行参数化查询是一个非常简单的过程。在数据访问库——如微软的数据应用程序块——的辅助下,这个过程可以进一步简化。
参数化查询的ADO缺点
说到编程,每种方法都有其优缺点,决定应用参数化查询也不例外。它的一个主要的缺点在于:由于查询被嵌入到应用程序代码中,可能在几个地方都以同样的查询结束。我可以建立一个存储查询的中心位置来消除这种重复。这个位置可以是一个XML文件、在应用程序中的一个带公共静态字符串成员的类、一个自定义的.NET属性、或者是一个空文件。应用这些技巧,你就可以在执行前查找到所需的查询。#t#
应用参数化查询的另一个潜在问题是许多公司并不允许在其应用程序(以及数据层)中使用内联SQL。我认为这是因为人们在谈论将SQL插入应用程序代码时,他们指的是特别(内联)代码,而不是参数化查询。这样的规则也使DBA对在SQL服务器上执行代码有了更大的控制权,ADO缺点这对大型数据库十分有利。
何时应使用参数化查询?
在任何需要在SQL服务器上执行操作的情况下,你都可以应用参数化查询。但是,参数化查询主要应用于需要执行的创建、阅读、更新与删除(CRUD)操作。如果你在执行需要较长时间或由不同SQL语句构成的复杂操作,***将此操作保留在SQL服务器中。
虽然参数化查询在许多情况下应用起来十分方便,但由于它可能会打乱你的应用程序代码,所以我并不推荐你在复杂的数据操作逻辑中应用它。当你的应用程序代码被打乱时,你必然会遇到严重的代码维护问题。
在编写数据访问程序的许多情况下,ADO缺点与特别查询与存储过程相比,参数化进程不失为一个较好的选择。参数化查询介于其他两种选择之间,如果应用得当,能够显著提高开发效率。