使用语句参数
参数在 SQL 语句中是一种变量,它使 ODBC 应用程序能够:
有效地为表中的列提供值。
在构造查询条件时增强用户交互。
管理 text、ntext 和 image 数据以及特定于 SQL Server 的 C 数据类型。
例如,Parts 表具有名为 PartID、Description 和 Price 的列。若要添加不带参数的部分,需要构造 SQL 语句,例如:
INSERT INTO Parts (PartID, Description, Price) VALUES (2100, 'Drive shaft', 50.00)
尽管使用已知的值集插入一行时可接受此语句,但要求应用程序插入多行时使用此语句会很不适合。ODBC 可通过使应用程序将 SQL 语句中的任何数据值替换为参数标记来解决此问题。这种参数标记由问号 (?) 表示。在下面的示例中,三个数据值被替换为参数标记:
INSERT INTO Parts (PartID, Description, Price) VALUES (?, ?, ?)
参数标记然后被绑定到应用程序变量。若要插入新行,应用程序只需设置变量的值并执行此语句。然后,驱动程序检索变量的当前值并将其发送至数据源。如果多次执行此语句,则应用程序可通过准备此语句使该进程更加有效。
每个参数标记均按从左到右的顺序由其分配至参数的序号引用。在 SQL 语句中,最左侧的参数标记的序号值为 1;下一个的序号为 2,以此类推。