680 likes | 770 Views
資料庫. 資料庫管理員. 當我們要設計一個可以輸入資料、新增資料、刪除資料、查詢資料到資料檔案,這時候就可以利用 VB 所提供的 『 資料庫管理員 』 ,並配合相關的 ﹝ 資料控制項 ﹞ 來完成。. 開啟資料庫檔案. 要建立資料庫之前我們必須先建立資料庫的檔案。. 【 步驟一 】 首先我們先利用 『 增益集∕資料庫管理員 』. 【 步驟二 】 選擇所要建立的資料庫類型。. 【 步驟三 】 選擇資料庫所要儲存的位置,同時為該檔案命名,完成後按下存檔的按鈕。. 【 步驟四 】 接下來在資料庫的視窗中按下右鍵 → 選擇 ﹝ 新增資料表 ﹞ 項目。. 【 步驟五 】
E N D
資料庫 資料庫管理員 當我們要設計一個可以輸入資料、新增資料、刪除資料、查詢資料到資料檔案,這時候就可以利用VB所提供的『資料庫管理員』,並配合相關的﹝資料控制項﹞來完成。 開啟資料庫檔案 要建立資料庫之前我們必須先建立資料庫的檔案。
【步驟一】 首先我們先利用『增益集∕資料庫管理員』 【步驟二】 選擇所要建立的資料庫類型。
【步驟三】 選擇資料庫所要儲存的位置,同時為該檔案命名,完成後按下存檔的按鈕。
【步驟四】 接下來在資料庫的視窗中按下右鍵 → 選擇﹝新增資料表﹞項目。
【步驟五】 接下來定義資料庫中所要使用的欄位,先輸入資料表的名稱,然後按下新增資料欄按鈕。
【步驟六】 輸入相關的資料欄資料,完成後按確定按鈕。
名稱: 欄位的名稱,也就是資料表中所要填入資料的標題名稱。 型態: 該欄位所能輸入的資料類型,資料欄的型態可以分為下列的種類: 1. Text(文字型態): 可以用來儲存中英文字、數值、符號、空字串,其範圍在255個字元內。 2. Memo(備忘型態): 備忘型態與文字型態相同,其範圍可多達1.2G的文字資料。 3. Date/Time(日期與時間型態): 存放日期與時間,日期範圍 → 1899/12/30 ~ 9999/12/30,時間範圍 → 0:00:00 ~ 23:59:59。 4. Boolean(布林型態): 布林資料只使用一個位元來存放資料,一般都是用於二分法的時機,例如是否、真假…等。 5. Byte(位元組型態): 可以儲存0 ~ 255的正整數。 6. Integer(整數型態): 使用兩個位元組存放 –32768 ~ +32767的整數數值。
7. Long(長整數型態): 使用四個位元組存放 –2147483648 ~ +2147483647的整數數值。 8. Single(單精確浮點數型態): 使用四個位元組存放資料,範圍為 –3.402823E38 ~ -1.401298E-45 或是 1.401298E-45 ~ 3.402823E38。 9. Double(倍精確浮點數型態): 使用八個位元組存放資料,範圍為 –1.79769313486231E308 ~ -4.9406564584124E-324 或是 1.79769313486231E308 ~ 4.9406564584124E-324。 10.Currency(貨幣型態): 用來儲存貨幣單位的資料,小數前可以有15個位數,小數後可以有4個位數。
11.Binary(二進位型態): 可以用來存放OLE的物件,例如圖片、聲音…等。 大小: 資料欄位所能輸入的字元數。 欄位順序: 資料欄位顯示在畫面的次序。 驗證規則提示: 當輸入時違反驗證規則時會出現的說明文字。 驗證規則: 輸入資料到資料欄位時的規定方式。 預設值: 當未輸入資料時,資料欄中所顯示的值。
【步驟七】 按下新增索引按鈕,來設立索引。 在『名稱』方框中輸入所要建立的索引名稱,同時在『現有的資料欄』方塊中,點選所要的當作索引的資料欄名稱,此時所點選的資料欄會自動出現在『編製索引的資料欄』方塊中,最後按下關閉按鈕。 注意: 索引是利用某些欄位來當作搜尋的依據,甚至還可以當作排序的依據。
【步驟八】 當建立完資料欄位後按下建立資料表按鈕。
此時在資料庫視窗中會出現所建立的資料表名稱(通訊錄),按下資料表名稱前面的 號,再按下Fieleds,就會出現剛剛所建立的資料欄位名稱。
注意: 『資料表』就如同是一張白紙,我們可以在此張白紙上規劃所要填寫的資料,例如學生的通訊錄、圖書館書籍資料…等。 『資料欄』就如同是紙張的詳細內容,例如通訊錄中大部分都會有﹝姓名﹞、﹝電話﹞、﹝地址﹞…的資料,這些就是所謂的﹝資料欄﹞。 所以一個『資料庫』可以包含許多的『資料表』,就如同一個活頁夾(資料庫),可以夾帶許多的紙張(資料表),每張紙都有相關的資料(資料欄)。 【步驟九】 利用滑鼠快點兩次資料表名稱(通訊錄),可以開啟(通訊錄)的畫面。 按下新增按鈕
注意: 此時因為沒有任何的資料在資料表中,所以按下新增按鈕,我們就只可以利用單筆資料的輸入方式來進行資料新增的動作,按下更新按鈕,可以將資料儲存在磁碟中,也就是第一次進行資料表輸入的動作會有的現象。
【步驟十】 此時我們可以先結束,並再次執行『增益集∕資料庫管理員』,並在資料庫管理員中選擇『檔案∕開啟資料庫 → Microsoft Access』,同時選擇剛剛所建立的資料庫。
利用滑鼠快點兩次資料表名稱(通訊錄),就可以開啟(通訊錄)的瀏覽畫面,此時就可以一邊瀏覽,同時又可以按下功能按鈕來進行資料的新增、更新、刪除、尋找…等動作。利用滑鼠快點兩次資料表名稱(通訊錄),就可以開啟(通訊錄)的瀏覽畫面,此時就可以一邊瀏覽,同時又可以按下功能按鈕來進行資料的新增、更新、刪除、尋找…等動作。
注意: 若我們要修改資料欄位,則可以用滑鼠右鍵按下資料表名稱,並在快顯功能表中選擇﹝設計﹞項目。
資料連結控制項 『資料連結控制項』就是要將剛剛由『資料庫管理員』中所完成的資料庫相互連結,透過『資料連結控制項』可以針對該資料庫的所有資料表作一些處理,例如顯示到表單、進行資料修改…等,它就如同是使用者與資料庫的一個中間介面。 資料控制項的建立方式與其它的控制項的建立方式是一樣的。 【步驟一】 先在工具箱中選擇Data資料連結控制項,同時在表單中拖曳出一適當的大小。
按鈕,選擇所要關聯的資料庫名稱。 在屬性視窗中,按下DataBaseName旁的 資料連結控制項 【步驟一】 資料連結控制項建立完成後不可以馬上使用,因為系統不知道該資料連結控制項是與哪個資料庫有關聯,所以我們必須要經過連結的方式,將資料控制項與資料庫相互連結,這樣一來資料控制項才可以正確的讀取資料庫中的資料。 建立連結方式如下:
【步驟二】 在屬性視窗中,按下RecordSource旁的 按鈕,選擇所要建立連結的資料表名稱。 這樣一來資料連結控制項就已經與資料庫連結上了,但是無法顯示資料庫的內容,所以我們要利用其它的控制項來顯示資料表的資料欄位內容。
Data資料連結控制項的常用屬性如下: Name屬性: Data資料連結控制項的名稱。 EOFAction屬性: 當資料超過最後一筆時,處理的方式。 0 → 移到最後一筆。 1 → 移到結尾。 2 → 新增一筆。 Caption屬性: Data資料連結控制項外觀的顯示文字。 Connect屬性: Data資料連結控制項所連結的資料庫格式,內定為Access。 DatabaseName屬性: Data資料連結控制項所連結的資料庫檔案。 ReadOnly屬性: 設定資料表中的內容是否為唯讀狀態(只能讀取,不能修改)。
【步驟三】 安排其它的控制項來顯示資料庫中的某資料表的資料欄位資料。 我們先使用Label標籤控制項,來顯示『通訊錄』資料表中的﹝姓名﹞資料欄位的資料內容。
【步驟四】 在屬性視窗中,設定DataSource資料連結來源,也就是『資料連結控制項』。
【步驟五】 在屬性視窗中,設定DataField選擇所要顯示的資料欄位名稱。
【步驟六】 執行程式。
若是使用程式撰寫,則語法如下: 移到第一筆資料 語法 : 資料連結控制項名稱.Recordset.MoveFirst 往前一筆資料 語法 : 資料連結控制項名稱.Recordset.MovePrevious 往後一筆資料 語法 : 資料連結控制項名稱.Recordset.MoveNext 移到最後一筆資料 語法 : 資料連結控制項名稱.Recordset.MoveLast
﹝一筆資料﹞,是指在資料表中所定義的所有資料欄位,當我們輸入相關資料到資料欄位後,並且記錄指標移到下一個資料記錄,就完成一筆資料的輸入。﹝一筆資料﹞,是指在資料表中所定義的所有資料欄位,當我們輸入相關資料到資料欄位後,並且記錄指標移到下一個資料記錄,就完成一筆資料的輸入。
注意: 當移動記錄指標,若是超出資料範圍,無論是BOF或是EOF,都會出現錯誤訊息,所以我們要針對記錄指標來進行適當的判斷處理動作,底下為處理資料記錄的一些動作方式。 BOF: 指第一筆資料之前。 EOF: 指最後一筆資料之後。 新增一筆資料 語法: 資料連結控制項名稱.Recordset.AddNew 說明 : 記錄指標會自動到最後面,並且增加一筆新的空白記錄。
刪除一筆資料 語法: 資料連結控制項名稱.Recordset.Delete 說明 : 使用後,該記錄將成為無效。 修改及更新資料 語法 : 資料連結控制項名稱.Recordset.Update 說明 : 當資料有經過修改必須再將該筆記錄作更新的動作,這樣一來所更新的記錄才會重新儲存到磁碟中。
資料的查詢 語法 : 資料連結控制項名稱.Recordset.Find “資料欄位名稱=’S’” 說明 : 傳回是否找到﹝資料欄位名稱﹞符合S內容的記錄。 例如: Stud_Data.Recordset.find “Name=’張簡筠白’” 除了Find外,還有下列其它查詢的方法。 FindFirst:找出符合條件的第一筆資料。 FindPrevious:找出符合條件的前一筆資料。 FindNext:找出符合條件的下一筆資料。 FindLast:找出符合條件的最後一筆資料。 資料的關閉 語法 : 資料連結控制項名稱.Recordset.Close 說明 : 關閉資料表。
上機操作 設計一程式,可以管理學生的通訊錄資料。 【步驟一】 首先利用『資料庫管理員』產生一資料庫(檔名為My_stud.mdb,存放於C:\中),同時在該資料庫中增加一個﹝通訊錄﹞的資料表。 資料表中的資料欄位如下:
索引值: 索引名稱為﹝編號﹞,『編製索引的資料欄』項目選擇﹝編號﹞。 資料表中的內容,任意輸入5筆資料,表單中建立如下的物件。
【步驟二】 修改物件的屬性。 Text屬性 Text1 → (清除為空白) Text2 → (清除為空白) Text3 → (清除為空白) Text4 → (清除為空白) Text5 → (清除為空白) Text6 → (清除為空白) Text7 → (清除為空白) Caption屬性: Data1 → 通訊錄 Label1 → 編號 Label2 → 姓名 Label3 → 性別 Label4 → 血型 Label5 → 生日 Label6 → 電話 Label7 → 地址 Command1 → 新增 Command2 → 刪除 Command3 → 更新 Command4 → 結束 Name屬性: Data1 → Stu_data Label1 → No_lbl Label2 → Name_lbl Label3 → Sex_lbl Lable4 → Blood_lbl Label5 → Birth_lbl Label6 → Tel_lbl Label7 → Add_lbl Text1 → No_txt Text2 → Name_txt Text3 → Sex_txt Text4 → Blood_txt Text5 → Birth_txt Text6 → Tel_txt Text7 → Add_txt Command1 → Add_btn Command2 → Del_btn Command3 → Update_btn Command4 → Exit
DataField屬性: Text1 → 編號 Text2 → 姓名 Text3 → 性別 Text4 → 血型 Text5 → 生日 Text6 → 電話 Text7 → 地址 DataSource屬性: Text1 → Stu_data Text2 → Stu_data Text3 → Stu_data Text4 → Stu_data Text5 → Stu_data Text6 → Stu_data Text7 → Stu_data DataName屬性: Data1 → C:\My_stu.mdb檔案。 RecordSource屬性: Data1 → 通訊錄
【步驟三】 選擇『檢視』功能表中的「程式碼」,開始撰寫程式碼。 Private Sub Add_btn_Click() Stu_data.Recordset.AddNew No_txt.SetFocus End Sub Private Sub Del_btn_Click() del_val = MsgBox("刪除此筆資料?", vbYesNo + vbExclamation, "刪除") If del_val = vbYes Then Stu_data.Recordset.Delete Stu_data.Refresh Stu_data.Recordset.MoveNext End If End Sub Private Sub Exit_btn_Click() exit_val = MsgBox("確定結束", vbYesNoCancel + vbQuestion, "資料庫結束") If exit_val = vbYes Then End End Sub
Private Sub Updata_btn_Click() On Error Resume Next If Stu_data.Recordset.EOF = False Then Stu_data.Recordset.MoveNext Else Stu_data.Recordset.MoveFirst End If End Sub
【步驟四】 執行程式。
ADODC與DataGrid ADODC與DataGrid提供我們另一種更加方便的設計方式,其觀念與上一節非常類似,ADODC物件用來與資料庫進行聯繫,而DataGrid則是顯示所聯繫的資料庫內容。底下就針對這兩種物件的屬性與參數加以說明。 ADODC物件: ConnectionString屬性: 這個屬性包含兩個最為重要的參數,Provider與Data Source。 Provider參數: 主要功能為指定存取資料庫所使用的驅動程式。 Data Source參數: 主要功能為指定存取資料庫的完整路徑及名稱。 CommandType屬性: 主要功能為指定存取該資料庫的執行方式,adCmdTable表示「資料表」。 RecordSource屬性: 主要功能為指定存取該資料庫的資料表來源。
DataGrid物件: DataSource屬性: 因為DataGrid物件本身並不可以直接存取資料庫,必須將該屬性設定成某一個ADODC物件。 AllowAddNew屬性: 主要功能為允許使用者新增資料錄。 AllowDelete屬性: 主要功能為允許使用者刪除資料錄。 AllowUpdate屬性: 主要功能為允許使用者更新資料錄。
上機操作 利用ADODC與DataGrid物件設計一程式,可以管理學生的通訊錄資料(C:\My_stud.mdb)。 【步驟一】 因為ADODC與DataGrid物件是屬於外掛元件,所以我們必須先將這些元件引用進來,在工具箱中按下右鍵,並選擇設定使用元件。
選擇「Microsoft ADO Data Control 6.0 (OLEDB)」與「Microsoft DataGrid Control 6.0(OLEDB)」。
【步驟二】 在表單中佈置一個ADODC 物件。
選擇「使用連線字串」項目,並按下建立按鈕。選擇「使用連線字串」項目,並按下建立按鈕。
在「提供者」標籤中,點選「Microsoft Jet3.51OLEDB Provider」項目,並按下ㄧ步按鈕。
在「連線」標籤中,按下選擇或輸入資料庫名稱中,按下按鈕。在「連線」標籤中,按下選擇或輸入資料庫名稱中,按下按鈕。