文章出處
文章列表
以下問題都是容易忽略,但卻不容易找出問題的所在,讓我頭疼不少,故在此列出,即是一個總結,同樣也給其他人參與!
1.使用參數形式執行SQL命令時,參數數組需與在SQL語句中參數名出現的位置及名稱必須完全相同,否則執行不成功,但不會報錯;
sql="insert table(a,b,c) values(@a,@b,@c)"
params={@a,@c,@b} --->這是錯誤的
params={@a,@b,@c} --->這是正確的
2.使用參數形式執行SQL命令時,當字段類型為時間類型時,需要顯形聲明參數類型為Date,不能采用參數名+值的形式
sql="update table set editdate=@dt"
param=new oledbparameter("@dt",DateTime.Now) -->這是錯誤的,執行時會報錯:標準表達式中數據類型不匹配
param=new oledbparameter("@dt",OleDbType.Date){Value=DateTime.Now} -->這是正確的
3.注意ACCESS數據庫保留字,盡量不要使用該類字作為字段名,若確實需要使用,則應該加上方括號,顯示說明
sql="update user set name='xxx'" -->這是錯誤的
sql="update [user] set [name]='xxx'" -->這是正確的,顯示說明非系統保留字
文章列表
全站熱搜