SQL語(yǔ)句的添加、刪除、修改雖然有如下很多種方法,但在使用過(guò)程中還是不夠用,不知是否有高手把更多靈活的使用方法貢獻(xiàn)出來(lái)? 添加、刪除、修改使用db.Execute(Sql)命令執(zhí)行操作 ╔----------------╗ ☆ 數(shù)據(jù)記錄篩選 ☆ ╚----------------╝ 注意:?jiǎn)坞p引號(hào)的用法可能有誤(沒(méi)有測(cè)式) Sql = "Select Distinct 字段名 From 數(shù)據(jù)表" Distinct函數(shù),查詢數(shù)據(jù)庫(kù)存表內(nèi)不重復(fù)的記錄 Sql = "Select Count(*) From 數(shù)據(jù)表 where 字段名1>#18:0:0# and 字段名1< #19:00# " count函數(shù),查詢數(shù)庫(kù)表內(nèi)有多少條記錄,“字段名1”是指同一字段 例: set rs=conn.execute("select count(id) as idnum from news") response.write rs("idnum") sql="select * from 數(shù)據(jù)表 where 字段名 between 值1 and 值2" Sql="select * from 數(shù)據(jù)表 where 字段名 between #2003-8-10# and #2003-8-12#" 在日期類數(shù)值為2003-8-10 19:55:08 的字段里查找2003-8-10至2003-8-12的所有記錄,而不管是幾點(diǎn)幾分。 select * from tb_name where datetime between #2003-8-10# and #2003-8-12# 字段里面的數(shù)據(jù)格式為:2003-8-10 19:55:08,通過(guò)sql查出2003-8-10至2003-8-12的所有紀(jì)錄,而不管是幾點(diǎn)幾分。 Sql="select * from 數(shù)據(jù)表 where 字段名=字段值 order by 字段名 [desc]" Sql="select * from 數(shù)據(jù)表 where 字段名 like '%字段值%' order by 字段名 [desc]" 模糊查詢 Sql="select top 10 * from 數(shù)據(jù)表 where 字段名 order by 字段名 [desc]" 查找數(shù)據(jù)庫(kù)中前10記錄 Sql="select top n * form 數(shù)據(jù)表 order by newid()" 隨機(jī)取出數(shù)據(jù)庫(kù)中的若干條記錄的方法 top n,n就是要取出的記錄數(shù) Sql="select * from 數(shù)據(jù)表 where 字段名 in ('值1','值2','值3')" ╔----------------╗ ☆ 添加數(shù)據(jù)記錄 ☆ ╚----------------╝ sql="insert into 數(shù)據(jù)表 (字段1,字段2,字段3 …) valuess (值1,值2,值3 …)" sql="insert into 數(shù)據(jù)表 valuess (值1,值2,值3 …)" 不指定具體字段名表示將按照數(shù)據(jù)表中字段的順序,依次添加 sql="insert into 目標(biāo)數(shù)據(jù)表 select * from 源數(shù)據(jù)表" 把源數(shù)據(jù)表的記錄添加到目標(biāo)數(shù)據(jù)表 ╔----------------╗ ☆ 更新數(shù)據(jù)記錄 ☆ ╚----------------╝ Sql="update 數(shù)據(jù)表 set 字段名=字段值 where 條件表達(dá)式" Sql="update 數(shù)據(jù)表 set 字段1=值1,字段2=值2 …… 字段n=值n where 條件表達(dá)式" Sql="update 數(shù)據(jù)表 set 字段1=值1,字段2=值2 …… 字段n=值n " 沒(méi)有條件則更新整個(gè)數(shù)據(jù)表中的指定字段值 ╔----------------╗ ☆ 刪除數(shù)據(jù)記錄 ☆ ╚----------------╝ Sql="delete from 數(shù)據(jù)表 where 條件表達(dá)式" Sql="delete from 數(shù)據(jù)表" 沒(méi)有條件將刪除數(shù)據(jù)表中所有記錄) ╔--------------------╗ ☆ 數(shù)據(jù)記錄統(tǒng)計(jì)函數(shù) ☆ ╚--------------------╝ AVG(字段名) 得出一個(gè)表格欄平均值 COUNT(*|字段名) 對(duì)數(shù)據(jù)行數(shù)的統(tǒng)計(jì)或?qū)δ骋粰谟兄档臄?shù)據(jù)行數(shù)統(tǒng)計(jì) MAX(字段名) 取得一個(gè)表格欄最大的值 MIN(字段名) 取得一個(gè)表格欄最小的值 SUM(字段名) 把數(shù)據(jù)欄的值相加 引用以上函數(shù)的方法: sql="select sum(字段名) as 別名 from 數(shù)據(jù)表 where 條件表達(dá)式" set rs=conn.excute(sql) 用 rs("別名") 獲取統(tǒng)的計(jì)值,其它函數(shù)運(yùn)用同上。 ╔----------------------╗ ☆ 數(shù)據(jù)表的建立和刪除 ☆ ╚----------------------╝ Create TABLE 數(shù)據(jù)表名稱(字段1 類型1(長(zhǎng)度),字段2 類型2(長(zhǎng)度) …… ) 例:Create TABLE tab01(name varchar(50),datetime default now()) Drop TABLE 數(shù)據(jù)表名稱 (永久性刪除一個(gè)數(shù)據(jù)表) ╔--------------------╗ ☆ 記錄集對(duì)象的方法 ☆ ╚--------------------╝ rs.movenext 將記錄指針從當(dāng)前的位置向下移一行 rs.moveprevious 將記錄指針從當(dāng)前的位置向上移一行 rs.movefirst 將記錄指針移到數(shù)據(jù)表第一行 rs.movelast 將記錄指針移到數(shù)據(jù)表最后一行 rs.absoluteposition=N 將記錄指針移到數(shù)據(jù)表第N行 rs.absolutepage=N 將記錄指針移到第N頁(yè)的第一行 rs.pagesize=N 設(shè)置每頁(yè)為N條記錄 rs.pagecount 根據(jù) pagesize 的設(shè)置返回總頁(yè)數(shù) rs.recordcount 返回記錄總數(shù) rs.bof 返回記錄指針是否超出數(shù)據(jù)表首端,true表示是,false為否 rs.eof 返回記錄指針是否超出數(shù)據(jù)表末端,true表示是,false為否 rs.delete 刪除當(dāng)前記錄,但記錄指針不會(huì)向下移動(dòng) rs.addnew 添加記錄到數(shù)據(jù)表末端 rs.update 更新數(shù)據(jù)表記錄 |
|
來(lái)自: yuxinrong > 《VBA相關(guān)》