2011年3月30日 星期三

ADO.NET ---應用程式與資料庫的溝通媒介

匯入System.Data命名空間來叫用ADO.NET元件
引用System.Data.OleDb/System.Data.OracleClient來存取Oracle資料庫


.NET Framework Data Provider
Connection
OleDbConnection語法範例:
string ConnString = "Provider=MSDAORA;Data Source=localhost;user id=123;password=123";
OleDbConnection conn = new OleDbConnection(ConnString);
conn.Open();




Command
OleDbCommand[查詢]語法範例:
OleDbConnection conn = new OleDbConnection(ConnString);
conn.Open();

string selectCmd = "SELECT * FROM RCNSSRMTX WHERE SRMID = '" + tbxNo.Text + "'";
OleDbCommand cmd = new OleDbCommand(selectCmd, conn);
OleDbDataReader dr = cmd.ExecuteReader();





OleDbCommand[新增]語法範例:
OleDbConnection conn = new OleDbConnection(ConnString);
conn.Open();

string insertCmd = "Insert Into Login (UserID, Pwd, Condition, IsValid)"+"Values('HuWen','123','管理者',True)";
OleDbCommand cmd = new OleDbCommand(insertCmd, conn);
OleDbDataReader dr = cmd.ExecuteNonQuery();

OleDbCommand[更新]語法範例:
OleDbConnection conn = new OleDbConnection(ConnString);
conn.Open();

string updateCmd = "Update Login SET UserID = 'Wen', Ped = '12345',"+"Condition='VIP會員', IsValid = True Where UserId = 'HuWen'";
OleDbCommand cmd = new OleDbCommand(updateCmd, conn);
OleDbDataReader dr = cmd.ExecuteNonQuery();

OleDbCommand[刪除]語法範例:
OleDbConnection conn = new OleDbConnection(ConnString);
conn.Open();

string deleteCmd = "Delete From Login Where UserID = 'Wen'";
OleDbCommand cmd = new OleDbCommand(deleteCmd, conn);
OleDbDataReader dr = cmd.ExecuteNonQuery();




DataReader
(資料讀取器)
用Connection物件開啟資料連接>>>用Command物件執行SQL敘述>>>用DataReader物件來讀取SQL執行結果的資料

OleDbDataReader語法範例:
//step1 開啟資料庫連接,準備與資料庫進行溝通和存取
OleDbConnection conn = new OleDbConnection(ConnString);
conn.Open();

string selectCmd = "SELECT * FROM TableName";

//step2 透過Connection連接物件來送出SQL敘述
OleDbCommand cmd = new OleDbCommand(selectCmd, conn)
//step3 由DataReader讀取SQL敘述的執行結果;
OleDbDataReader dr = cmd.ExecuteReader();

//step4 資料逐步讀取
while (dr.Read())
{
MsgStr = MsgStr + dr["ColumnName"] +"\r\n";
}

//step5 關閉連接物件與資料讀取器
conn,Close();
dr.Close();


DataAdapter
用Connection物件開啟資料連接>用DataAdapter物件執行SQL敘述>用DataAdapter物件將資料表填入DataSet

OleDbDataAdapter語法範例:
//Step1 開啟資料庫連接 準備與資料庫進行溝通和存取
OleDbConnection conn = new OleDbConnection(ConnString);
conn.Open();
//Step2 資料配接器的宣告 來執行SQL敘述並開啟資料庫連接
OleDbDataAdapter da = new OleDbAdapter(selectCmd, conn);
//Step3 宣告DataSet 用DataAdapter將SQL執行結果指定資料表填入DataSet中
DataSet ds = new DataSet();
Da.Fill(ds, “Login”);
//Step4 把DataSet中的資料表拿來當DataGridView控制項的資料來源
dataGridView1.DataSource = ds.Table[“Login”];
//Step5 關閉連接物件與資料配接器來釋放物件所佔用的資源
conn.Close();
da.Dispose();


DataSet
DataSet是由多個DataTable物件的集合(Collection)所構成。

DataTable
用來表示再記憶體中資料的一個資料表(Table)。DataTable是由DataRow和DataColumn所構成。DataRow是用來表示DataTable中的資料列,DataColumn是用來建立DataTable的綱要(Schema)結構描述的主要物件,定義欄位名稱、型別或預設值。


DataView

表示 DataTable 的自訂可繫結資料的檢視表,以供排序、篩選、搜尋、編輯和巡覽。
DataView的作用如同資料庫中檢視(View)一樣。




沒有留言: