• 沒有找到結果。

Access 資料庫 (1)

N/A
N/A
Protected

Academic year: 2022

Share "Access 資料庫 (1)"

Copied!
29
0
0

加載中.... (立即查看全文)

全文

(1)

.NET 程式設計入門 (使用 C#)

講師︰唐士軒

CSIE, NTU

(2)

Access 資料庫 (1)

z建立資料庫

z選擇 [檔案] 中的 [開新檔案] 會跳出開新檔 案視窗,在視窗新增部份選取 [空白資料庫]

z設定完檔案儲存位置後會跳出下圖視窗

(3)

Access 資料庫 (2)

z建立資料表

z選擇資料庫視窗中的 [使用設計檢視建立資

料表]

(4)

Access 資料庫 (3)

z儲存資料表

z當關閉資料表視窗時,系統即會詢問是否要 儲存資料表等資訊

z資料表操作

z開啟

–輸入資料 z設計檢視

–修改資料表

欄位設定

(5)

ADO .NET

zADO.NET 為 .NET Framework 所提供的 類別,專門用來存取『資料儲存體』中 的資料

z『資料儲存體』包含資料庫或非資料庫 型式的儲存體

zEx︰MSSQL、Access、Excel、XML

zADO.NET 採用中斷連線的方式,減低系

統工作負載

(6)

.NET 資料提供者

z .NET 資料提供者為存取資料來源的一組類別 z .NET Data Provider

z SQL .NET Data Provider

ƒ 命名空間︰System.Data.SqlClient

ƒ 可用資料庫︰MS-SQL

z OLE DB .NET Data Provider

ƒ 命名空間︰System.Data.OleDb

ƒ 可用資料庫︰ Dbase、FoxPro、Excel、Access、Oracle、

Access…

z ODBC .NET Data Provider

ƒ 需至微軟網站另外下載

ƒ 可用資料庫︰ MySQL…

(7)

Connection 物件

z ADO.NET 的 Connection 物件用來連接資料來 源,代表使用者與資料來源間的連線

z 利用『連線字串』來描述所要連線的資料來源 z 連接 Access 資料庫連線字串格式

z Provider–Microsoft.Jet.OLEDB.4.0 z Data source–資料庫檔案所在路徑

z OleDbConnection 類別

z 常用屬性

ƒ ConnectionString–取得或設定連線字串 (可於建構式設定)

z 常用方法

ƒ Open–開啟資料庫連線

ƒ Close–關閉連線

(8)

實例探討 sample9-a1 (1)

z 程式功能

z 建立與資料庫間的連線

z 程式內容

private void Form1_Load(object sender, System.EventArgs e) {

stateTB.Text = "尚未連線..";

string connectionStr =

@"Provider=Microsoft.Jet.OLEDB.4.0;

Data Source=d:\sample.mdb";

OleDbConnection conn =

new OleDbConnection(connectionStr);

(9)

實例探討 sample9-a1 (2)

z 程式內容

stateTB.Text += "\r\n進行連線..";

try {

conn.Open();

stateTB.Text += "\r\n連線成功..";

conn.Close();

stateTB.Text += "\r\n關閉連線..";

} catch {

stateTB.Text += "\r\n連線失敗..";

} }

(10)

Command 物件

z Command 物件可以用來執行所要對資料庫操 作的命令

z 建構式中可傳入 SQL 命令及 Connection 物件 z 常用方法

z ExecuteReader

ƒ 用來執行 Command 物件中的 SQL 查詢語法– SELECT

ƒ 取得資料後會回傳一個 DataReader 物件供使用者瀏覽資料

z ExecuteNonQuery

ƒ 用來執行 Command 物件中的 SQL 新增、刪除及修改語

法–INSERT、DELETE 及 UPDATE

(11)

DataReader 物件

z DataReader 物件可用來逐一取得資料表中的資料 內容

z 可利用 物件["欄位名稱"] 來取得特定欄位資料 z 常用屬性

z FieldCount–取得資料總筆數

z 常用方法

z Read–讀取下一筆資料,已至檔案結尾回傳 false,

尚未到達檔案結尾回傳 true z Close–關閉釋放此物件資源

z GetName–取得欄位名稱

z GetValue–取得欄位資料內容

(12)

SQL 結構化查詢語言

zSQL 結構化查詢語言是一套標準的語言,

用以管理或存取資料庫 zSQL 主要包含二部份

zDML 資料處理語言

ƒ 包含 SELECT、INSERT、UPDATE 及 DELETE…

zDDL 資料定義語言

ƒ 包含 CREATE、DROP、ALTER 及 GRANT…

(13)

SQL 語法–SELECT

zSELECT 查詢命令可用來取得資料表中 的資料

z語法

zSELECT 欄位名稱1, 欄位名稱2, … FROM 資料表名稱 WHERE 條件式 ORDER BY 欄 位名稱 (字串需以單引號 ' 括住表示之)

z用法

zselect * from student

zselect id,name from student order by id desc

zselect id from student where id<10

(14)

實例探討 sample9-a2 (1)

z 程式功能

z 讀取資料表中資料並顯示於文字方塊中

z 程式內容

private void Form1_Load(object sender, System.EventArgs e) {

string connectionStr = @"Provider=Microsoft.Jet.OLEDB.4.0;

Data Source=d:\sample.mdb";

OleDbConnection conn = new OleDbConnection(connectionStr);

string sqlStr = "select * from student";

OleDbCommand command = new OleDbCommand(sqlStr, conn);

(15)

實例探討 sample9-a2 (2)

z 程式內容

studentTB.Text = "ID\tNAME\r\n==================\r\n";

try {

conn.Open();

OleDbDataReader dataReader = command.ExecuteReader();

while(dataReader.Read()) {

studentTB.Text += dataReader["id"].ToString() + "\t" + dataReader["name"].ToString() + "\r\n";

}

dataReader.Close();

}

(16)

實例探討 sample9-a2 (3)

z程式內容

catch {

}

finally {

conn.Close();

} }

(17)

課堂練習 sample9-b1

z 程式功能

z 建立一個 Exam 資料庫含有 Midterm 資料表 z Midterm 資料表包含學號、姓名、成績欄位 z 利用 Access 操作介面輸入幾筆資料

z 利用 ListView 控制項顯示 Midterm 資料表內容

z 基本概念

z 利用 System.Data.OleDb 命名空間中的

OleDbConnection 及 OleDbCommand 類別來連接資 料庫

(18)

SQL 語法–INSERT

zINSERT 新增命令用來新增一筆資料至指 定資料表中

z語法

zINSERT INTO 資料表名稱 ( 欄位名稱1, 欄位 名稱2, …) VALUES ('資料1', '資料2', …)

z用法

zINSERT INTO student(id, name) VALUES(3,

'Ives')

(19)

SQL 語法–DELETE

zDELETE 刪除命令用來刪除資料表中的 指定資料

z語法

zDELETE FROM 資料表名稱 WHERE 條件式

z用法

zDELETE FROM student WHERE id = 3 AND

name = 'Ives'

(20)

SQL 語法–UPDATE

zUPDATE 更新命令用來修改資料表中的 資料

z語法

zUPDATE 資料表名稱 SET 欄位1 = 資料1, 欄 位2 = 資料2, … WHERE 條件式

z用法

zUPDATE student SET name = 'Bob' WHERE

id = 2

(21)

實例探討 sample9-a3 (1)

z程式功能

z新增及刪除資料表中資料

z程式內容

private string connectionStr;

private OleDbConnection conn;

private OleDbCommand command;

(22)

實例探討 sample9-a3 (2)

z程式內容

private void Form1_Load(object sender, System.EventArgs e)

{

//設定連線資訊

connectionStr = @"Provider=Microsoft.Jet.OLEDB.4.0;

Data Source=d:\sample.mdb";

conn = new OleDbConnection(connectionStr);

command = new OleDbCommand("", conn);

updateLB();

}

(23)

實例探討 sample9-a3 (3)

z 程式內容

private void studentLB_SelectedIndexChanged(object sender, System.EventArgs e)

{

string[] strTmp = studentLB.SelectedItem.ToString().Split('\t');

idTB.Text = strTmp[0];

nameTB.Text = strTmp[1];

}

private void addBTN_Click(object sender, System.EventArgs e) {

if(idTB.Text != "" && nameTB.Text != "") {

addDB(idTB.Text, nameTB.Text);

updateLB();

}

(24)

實例探討 sample9-a3 (4)

z程式內容

private void delBTN_Click(object sender, System.EventArgs e)

{

if(idTB.Text != "" && nameTB.Text != "") {

delDB(idTB.Text, nameTB.Text);

updateLB();

} }

(25)

實例探討 sample9-a3 (5)

z 程式內容

private void updateLB() {

command.CommandText = "select * from student";

try {

conn.Open();

studentLB.Items.Clear();

OleDbDataReader dataReader = command.ExecuteReader();

while(dataReader.Read()) {

studentLB.Items.Add(dataReader["id"].ToString() + "\t" + dataReader["name"].ToString());

}

(26)

實例探討 sample9-a3 (6)

z程式內容

dataReader.Close();

}

catch {

}

finally {

conn.Close();

} }

(27)

實例探討 sample9-a3 (7)

z 程式內容

private void addDB(string id, string name) {

command.CommandText = "insert into student(id, name)values("+

id +",'"+ name +"')";

try {

conn.Open();

command.ExecuteNonQuery();

}

catch{}

finally {

conn.Close();

}

(28)

實例探討 sample9-a3 (8)

z 程式內容

private void delDB(string id, string name) {

command.CommandText = "delete from student where id = "+ id +

" and name = '" + name +"'";

try {

conn.Open();

command.ExecuteNonQuery();

}

catch{}

finally {

conn.Close();

} }

(29)

課堂練習 sample9-b2

z程式功能

z資料庫部份同 sample9-b1

z利用 ListView 控制項顯示 Midterm 資料表內 容

z提供介面給與使用者修改資料

z基本概念

z利用 System.Data.OleDb 命名空間中的

OleDbConnection 及 OleDbCommand 類別來

連接資料庫

參考文獻

相關文件

(二) 補助之展覽條件:展覽已由主辦單位於我國辦理 3 屆以上,每一攤 位以 9 平方公尺、不含走道及公設為標準,近 3 屆任 1 屆於我國實 際展出攤位數達

檢附具有「我國國 際展覽識別體系標 誌」之展位截圖及 廠商名稱照片(參展 廠商英文名稱應為 經本局核准登記之 出進口廠商英文名 稱或其他足資識別

[r]

1.名冊各欄位如申請單位名 稱、編號、姓名、性別、國 籍或地區、出生日期、護照 號碼、申請聘僱期間、最高 學歷、每月薪資或酬勞、職

一、申請人、出口人及貨品 製造廠商之姓名、住 所、身分證字號;如 係廠商,其名稱、住 所及統一編號。.

物流人員 國貿人員 業務助理 食品解說員 11 先進工業股份有限公司 日班作業員 夜班作業員 儲備幹部 工讀生 品檢作業員. 12 厚達電子股份有限公司

選取本地根資料夾Æ右 1Æ開新檔案Æ輸入檔案名稱( index.html),Enter 鍵Æ右 1Æ設成 首頁 Æ重複〝右 1〝 本地根資料夾〞 Æ開新檔案Æ輸入檔案名稱,Enter

2 申請書 1.申請書各欄位如申請工 作類別、申請項目、申請 單位名稱、申請單位統一 編號、負責人、單位所在