本文假定讀者已經對數據庫連接技術有所了解,因此只討論有關SQL查詢命令的語法。?
表結構如下(MS?Access?2000):?
表名:userTable?
----------------------?
字段名 字段類型?
----------------------?
userID 自動計數(長整型)?
userName ?文本?
userSex ? 文本?
CreateDate 日期/時間(默認值為Now())?
----------------------?
一、用Select命令提取記錄?
1、取得表中所有記錄?
Select命令,語句如下:?
"Select?*From?userTable"?
2、取得表中userID字段記錄?
"Select?userID?From?userTable"?
3、取得表中userID、userSex字段記錄?
"Select?userID,?userSex?From?userTable"?
4、取得表中userSex值為“男”的記錄?
"Select?From?userTable?Where?userSex?=?'男'"?
5、取得表中userName值中包含“張”字的記錄?
"Select?From?userTable?Where?userName?Like?'%男%'"?
6、取得表中所有記錄,按CreateDate字段值降序排列?
"Select?From?userTable?Order?By?CreateDate?DESC"?
說明:?
1)、以上命令可以組合使用,如,取得表中userName中包含“浩”字的,userID的值,并按CreateDate值的時間降序排列,那么命令如下:?
"Select?userID?From?userTable?Where?userName?Like?'%浩%'?Order?By?CreateDate?DESC"?
2)、使用中應注意,如果字段類型為文本,則在條件判別時,應在條件字外加上單引號,此規則適用于任何一個SQL查詢命令。?
3)、條件字中的“%”為通配符。?
4)、當判別條件多于一條時,應以“And”或“Or”連接。?
二、用Insert?Into命令插入新記錄?
1、插入一條新記錄?
"Insert?Into?userTable?(userName,?userSex)?Values?('張浩南',?'男')"?
說明:?
這里需要注意的是,插入的記錄的值的類型應符合表中的字段類型,否則會出錯。其實使用單引號只是個便捷的方法,但并不規范,因為如果要插入的記錄中本身含有單引號,則會出現錯誤(雖然這種情況并不經常發生,但有可能存在)。所以我們最好使用一個自定義的函數來實現單引號的替換。方法如下?
Function?SqlStr(data)?
SqlStr="'"?&?Replace(data,?"'",?"''")?&?"'"?
End?Function?
在命令中則為:?
Dim?Name,?Sex?
Name="張浩南"?
Sex="男"?
"Insert?Into?userTable?(userName,?userSex)?Values?("?&?SqlStr(Name)?&?",?"?&?SqlStr(Sex)?&?")"?
這樣則無論值中是否含有單引號或雙引號均不會出錯。?
但請注意,這個規則只適用于類型為文本的字段,如果為其它類型,則一般無需考慮,即不必加任何符號。?
三、用Update更新記錄?
1、更新全部記錄的全部字段?
"Update?userTable?Set?userID=1,?userSex='男',?userName='徐勇',?CreateDate="?&?CDate(CreateDate)?
說明:?
式中的值可以用運算表達式,如:userID=userID+1等。?
2、更新userName字段值為“徐勇”的記錄值?
"Update?userTable?Set?userID=1,?userName='徐詠'?Where?userName='徐勇'"?
說明:?
需要組合條件查詢時,方法同Select。另外此處也要注意單引號問題。?
四、用Delete刪除記錄?
1、刪除全部記錄?
"Delete?From?userTable"?
2、刪除特定條件的記錄,如刪除userID為“20”的記錄?
"Delete?From?userTable?Where?userID=20"?
3、刪除組合條件記錄,如刪除userSex為“女”,userName中包含“張”的記錄?
"Delete?From?userTable?Where?userSex='女'?And?userName?Like?'%張%'"?
說明:?
注意單引號問題。
posted on 2006-08-11 08:49
fly 閱讀(153)
評論(0) 編輯 收藏