OleCommand的SqlText占位符的问题
生活随笔
收集整理的這篇文章主要介紹了
OleCommand的SqlText占位符的问题
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
http://blog.sina.com.cn/s/blog_54b576bb0100anku.html
在使用access數據時,經常使用
string strSql="insert table_name(col1,col2,...,coln) values(@col1,@col2,...,@coln)";
來向數據庫插入數據,寫法居然是有毛病的,參照msdn,應該改為
string strSql="insert table_name(col1,col2,...,coln) values(?,?,...,?)";
來自msdn的解釋:
如果 CommandType 設置為 Text,OLE DB.NET 提供程序不支持將參數傳遞給 OleDbCommand 調用的 SQL 語句或存儲過程的命名參數。在這種情況下,必須使用問號 (?) 占位符。例如:
SELECT * FROM Customers WHERE CustomerID = ?
因此,OleDbParameterCollection 的順序必須直接對應于參數的問號占位符的位置。
?
NET中SQL的Parameter占位符的使用在一般的情況想在
一般的規則如下:
總結
以上是生活随笔為你收集整理的OleCommand的SqlText占位符的问题的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: tfs 点获取最新,如果检查到大量冲突
- 下一篇: 西裤哥的 Hook Api Lib 0.