Download presentation
Presentation is loading. Please wait.
1
資料庫程式設計 VB資料庫設計簡介 週次:6 建國科技大學 資管系 饒瑞佶
2
SQL Structured Query Language 用以操縱資料庫的指令集 資料操作語言DML:操作資料錄
如DELETE, SELECT, UPDATE …. 資料定義語言DDL:建立資料表及資料欄位 如AFTER TABLE, CREATE TABLE ….
3
SELECT 敘述 對資料庫進行選取查詢的動作 將查詢結果指定給Recordset物件的Recordsource屬性就可以將資料顯示出來
4
SELECT 語法 SELECT 欄位 FROM 資料表 例如:SELECT 書名,分類,作者 FROM 書籍
5
SELECT 語法 – 篩選記錄 SELECT 欄位 FROM 資料表 WHERE 條件 條件的設定與Filter屬性的設定方法相同
SELECT * FROM 書籍 WHERE 頁數>100 AND 頁數 < 500 SELECT * FROM 書籍 WHERE 頁數 BETWEEN 100 AND 500
6
SELECT 語法 – 排序 SELECT 欄位 FROM 資料表 ORDER BY 排序方式 排序方式:ASC遞增排序,DESC遞減排序
SELECT * FROM書籍 ORDER BY 頁數 DESC SELECT * FROM書籍 ORDER BY 頁數 ASC, 分類 DESC
7
SELECT 語法 – 篩選不重複的紀錄 SELECT DISTINCT 欄位 FROM 資料表
8
SELECT 語法 – 使用別名 SELECT 欄位1 AS 別名1,欄位2 AS 別名2 FROM 資料表
例如:SELECT 作者 AS 程式設計專家 FROM 書籍 SELECT 作者 FROM 書籍 資料內容一樣,顯示的欄位名稱不同
9
SELECT 語法 – 限定選取筆數 SELECT TOP n FROM 資料表 SELECT TOP n Percent FROM 資料表
例如:SELECT TOP 5 * FROM 書籍 ORDER BY 售價 DESC
10
SELECT 語法 – 統計函數 SELECT 統計函數 AS 別名 FROM 資料表
例如:SELECT AVG(售價) AS 平均售價 FROM 書籍 COUNT:統計資料比數 SUM:總合 MIN,MAX:求最小與最大 STDEV:取標準差 VAR:取變異數
11
SELECT 語法 – 分組統計 SELECT 欄位FROM 資料表 GROUP BY 欄位
例如:SELECT 分類, AVG(售價) AS 平均售價 FROM 書籍 GROUP BY 分類
12
SELECT 語法 – 分組統計再篩選 SELECT 欄位FROM 資料表 GROUP BY 欄位 HAVING 條件
例如:SELECT 分類, AVG(售價) AS 平均售價 FROM 書籍 GROUP BY 分類 HAVING AVG(售價) > 400
13
SELECT 語法 – 子集合查詢 SELECT 欄位FROM 資料表 WHERE 欄位 IN 子集合
SELECT * FROM 書籍 WHERE 作者名 IN (SELECT 作者名 FROM 作者 WHERE 專長 = ‘程式設計’)
14
執行SELECT 敘述 使用Recordset物件的Open方法 使用Connection物件的Execute方法
使用Command物件的Execute方法
15
使用Recordset物件的Open方法
Rs.open 書籍, cn, adOpenStatic sql=“SELECT * FROM 書籍” Rs.open sql, cn, adOpenStatic 範例7-1
16
使用Connection物件的Execute方法
Set recordset=Connection.execute(SQL敘述,recordaffected,options) 這種recordset為唯讀,所以不能進行編修的動作 範例7-2
17
使用Command物件的Execute方法
Set recordset=command.execute 這種recordset為唯讀,所以不能進行編修的動作 需設定command物件的Commandtext(SQL敘述)與ActiveConnection(Connection物件)屬性 範例7-3
18
動作查詢(Action Query) RecordSet內容的更新,新增,刪除等要求(Query),稱之為動作查詢(Action Query) 不可以使用RecordSet的Open方法 使用Command物件或是Connection物件的Execute方法
19
動作查詢(Action Query)-更新
使用Update敘述 語法: Update 資料表名稱 Set 欄位=欄位值 Ex: Update 書籍 Set 分類=“程式設計”
20
動作查詢(Action Query)-新增
使用Inset Into敘述 語法: Insert Into 資料表名稱(欄位1,欄位2,….) Value (值1,值2,…) Ex: Insert Into 書籍 (書名,分類,售價) Value (“Delphi”,”程式設計”,500)
21
動作查詢(Action Query)-刪除
使用Delete敘述 語法: Delete From 資料表名稱 Ex: Delete from 書籍
22
使用Connection物件來執行 動作查詢(Action Query)
語法: Connection.Execute 動作查詢,RecordsAffected,Options Recordset.Requery 其中Options參見課本p.7-30 執行動作查詢後會產生一新的Recordset,所以需用Recordset物件的Requery方法取得新的Recordset物件 範例7-4, p.7-31
23
使用Command物件來執行 動作查詢(Action Query)
須先設定Command物件的CommandText和ActionConnection屬性 語法: Command.Execute RecordsAffected, Parameters, Options Recordset.Requery 其中Options參見課本p.7-30 Parameters用於參數查詢 執行動作查詢後會產生一新的Recordset,所以需用Recordset物件的Requery方法取得新的Recordset物件 範例7-5, p.7-33
24
參數查詢(Parameter Query)
帶有未知參數的SQL敘述查詢稱為參數查詢 未知參數在SQL敘述中使用?來表示 Select * from 書籍 where 分類=? 一定要使用Command物件的Execute方法(這時候前面的Parameters就派上用場)
25
參數查詢(Parameter Query)
只帶有一個參數時設定步驟為 將SQL敘述指定給CommandText屬性 執行Execute方法時設定Parameter參數 範例7-6, p.7-38
26
參數查詢(Parameter Query)
帶有多個參數時設定步驟為 將SQL敘述指定給CommandText屬性 使用CreateParameter方法建立Parameter物件 將Parameter物件用Append方法加入Parameters物件中 執行Command物件的Execute方法 範例7-7, p.7-43
Similar presentations