.NET 中 SQL 的 Parameter 占位符的使用

在一般的情况想在

  1. OLE DB .NET Framework 数据提供程序和 ODBC .NET Framework 数据提供程序不支持用于将参数传递到 SQL 语句或存储过程的命名参数。在此情况下,必须使用问号 (?) 占位符顺序必须与存储过程中所定义的参数顺序相匹配,如以下示例所示。SELECT * FROM Customers WHERE CustomerID = ?;在 Access 中你可以使用 @CustomerId 也可以使用 “?” 但是在 DB2 中你只能使用 “?”,使用前者会出现错误提示。

一般的规则如下:

  1. SqlCommand should be '@' character
  2. OleDbCommand or OdbcCommand should be '?' character
  3. OracleCommand should be ':' character