C#學習之ObjectOriented、Record
一、思維導圖
二、知識點析剖
1、面向物件
(1)類:當一個窗體程式碼太多時,不便於檢視和寫入,可以使用類來簡化程式碼視窗,使用get關鍵字來獲取一個公有屬性的值,
而使用set來設定一個公有屬性的值,如:
public string No
{
get;
set;
}
(2)三層架構:應用於專案比較大時,這樣可以讓專案模組化,分工明確,易於維護。三層架構是指介面層(UI),業務邏
輯層(BLL)和資料訪問層(DAL),介面層主要完成與使用者的互動;邏輯層完成商業邏輯運算;資料層完成資料儲存。
(3)SQL助手:呼叫SQL助手的靜態方法GetCommand來建立SQL命令,如:
using (SqlCommand sqlCommand = GetCommand(commandText, isStoredProcedure, sqlParameters))
2、記錄
(1)sqlDataReader資料閱讀器:可以讀取表中的資料,如:
SqlDataReader sqlDataReader = sqlCommand2.ExecuteReader();
if (sqlDataReader.Read())
{
this.txb_no.Text = sqlDataReader["d_no"].ToString();
this.txb_rename.Text = sqlDataReader["d_rename"].ToString();
}
(2)Control控制元件:命令按鈕Button:書寫所需執行的命令 組合框ComboBox:載入資料庫某一表中資料,供使用者選擇,不需手動鍵入
單選按鈕 RadioButton:供使用者選擇其中一個,提高系統的可讀性
(3)Update更新修改資料,如:
sqlCommand.CommandText =
"UPDATE tb_doctor"
+ "SET [email protected],[email protected],[email protected],[email protected],[email protected],[email protected],[email protected],[email protected]"
+ " WHERE [email protected];";
sqlCommand.Parameters.AddWithValue("@Name", this.txb_rename.Text.Trim());
sqlCommand.Parameters.AddWithValue("@Gender", this.radioButton2.Checked );
sqlCommand.Parameters.AddWithValue("@Type", this.com_type.SelectedItem);
(4)Image 上傳圖片:先在空間寫入using System.Drawing.Imaging; 圖片在資料庫表中是以可變二進位制存放的,所以在資料庫表中定義為
Photo
VARBINARY(MAX)
,...
在窗體載入圖片:
photoBytes =
(sqlDataReader["Photo"] == DBNull.Value ? null : (byte[])sqlDataReader["Photo"]); //根據照片是否為資料庫空值,分別將空值、轉為位元組陣列的照片資料賦予事先宣告的位元組陣列;
}
開啟圖片的命令:
OpenFileDialog openPhotoDialog = new OpenFileDialog()
{
Title = "開啟照片檔案(點陣圖格式)"
, Filter = "BMP Files (*.bmp)|*.bmp"
, InitialDirectory = @"C:\"
};
if (openPhotoDialog.ShowDialog() == DialogResult.OK)
{
this.PhotoFileName = openPhotoDialog.FileName;
this.ptb_Photo.Image = Image.FromFile(this.PhotoFileName);
上面記錄這知識點的學習介面功能如下:
這次的C#資料庫學習到這啦。