正在學習數據庫相關內容如,做個記錄,加深印象!
Q:[圖片太小看不清怎么辦?]
R:[在圖片上右擊選擇在新標簽頁打開圖片]
1.使用Office Access創建名為Data.mdb的數據庫,文件位置位於桌面
C:\Users\Administrator\Desktop\Data.mdb(程序里要用到的!)
(長這樣!)
然后,Data內含有兩個文件:data1和data2,我們用的是data1

data1的內容如下:
2.建立VS項目
在winform上添加datagridview控件

(簡單,粗暴!)
3.編寫“加載數據”按鈕程序
DataSet ds = new DataSet();//DataSet可理解成內存中的數據庫 OleDbCommand comm = new OleDbCommand();//OleDbCommand表示要對access數據源執行的sql語句或存儲過程 OleDbDataAdapter da = new OleDbDataAdapter();//leDbDataAdapter擔當 DataSet和數據源之間的橋梁,用於檢索和保存數據 //data.mdb文件位置 string ConnectionStr = @"Provider=Microsoft.ACE.OLEDB.12.0;Data Source=" + @"C:\Users\Administrator\Desktop\data.mdb;"; /* 1.若我們新建的data.mdb文件文件位於當前程序的啟動位置,則語句改為: * string ConnectionStr = @"Provider=Microsoft.ACE.OLEDB.12.0;Data Source=" + Application.StartupPath "; * 2.代碼中Provider引擎可有2種寫法: * Provider=Microsoft.ACE.OLEDB.12.0; * Provider=Microsoft.Jet.OLEDB.4.0; * 區別: * ACE引擎,既可以訪問Office 97-2003,也可以訪問Office 2007 。 * Jet 引擎,可以訪問 Office 97-2003,但不能訪問 Office 2007。 * 所以,如果access數據庫后綴名為.accdb(2007)就不能用jet引擎了。*/ OleDbConnection sda = new OleDbConnection(ConnectionStr);//定位到要連接的數據庫 sda.Open();//打開數據庫,准備操作 comm.Connection = sda;//連接 comm.CommandType = CommandType.Text;//...(不會解釋,VS自帶的解釋不太懂)
以上過程VS已經連接到了我們創建的data.mdb數據庫了,接下來進行數據的讀操作
4.讀取數據庫數據
(1).顯示數據庫全部數據
comm.CommandText = "select * from data1";//選取data1 da.SelectCommand = comm;//官方定義:獲取或設置SQL語句或存儲過程,用於選擇數據源中的記錄 da.Fill(ds);//將從數據庫中獲取的數據添加到DataSet內 dgv.DataSource = ds.Tables [0].DefaultView;//datagridview綁定數據源進行顯示 sda.Close();//斷開數據庫的連接,很重要!
結果如下:

(2)顯示多行(連續)
comm.CommandText = "select top 5 * from data1";//選取data1的前5行 da.SelectCommand = comm;//官方定義:獲取或設置SQL語句或存儲過程,用於選擇數據源中的記錄 da.Fill(ds);//將從數據庫中獲取的數據添加到DataSet內 dgv.DataSource = ds.Tables[0].DefaultView;//datagridview綁定數據源進行顯示 sda.Close();//斷開數據庫的連接,很重要!
結果如下:

(3)顯示多行(非連續)
comm.CommandText = "select * from data1 where 序號 = '8' or 序號 = '2' or 序號 = '5'"; //查詢表內序號為8//2/5的行 da.SelectCommand = comm;//官方定義:獲取或設置SQL語句或存儲過程,用於選擇數據源中的記錄 da.Fill(ds);//將從數據庫中獲取的數據添加到DataSet內 dgv.DataSource = ds.Tables[0].DefaultView;//datagridview綁定數據源進行顯示 sda.Close();//斷開數據庫的連接,很重要!
結果如下:

顯示非連續多行的方法還有其他語句可實現,可我不會!
(4)顯示多列
comm.CommandText = "select * from data1";//選取data1 da.SelectCommand = comm;//官方定義:獲取或設置SQL語句或存儲過程,用於選擇數據源中的記錄 da.Fill(ds);//將從數據庫中獲取的數據添加到DataSet內 DataTable dat = ds.Tables[0].DefaultView.ToTable(false, new string[] { "學號", "班級", "合格標記" }); //從DataSet內提取 學號,班級,合格標記 三列內容 dgv.DataSource = dat.DefaultView;//datagridview綁定數據源進行顯示 sda.Close();//斷開數據庫的連接,很重要!
結果如下:

(5)顯示單列(根據列標題索引)
comm.CommandText = "select 學號 from data1";//選取data1內列名稱為“學號”的列 da.SelectCommand = comm;//官方定義:獲取或設置SQL語句或存儲過程,用於選擇數據源中的記錄 da.Fill(ds);//將從數據庫中獲取的數據添加到DataSet內 dgv.DataSource = ds.Tables[0].DefaultView;//datagridview綁定數據源進行顯示 sda.Close();//斷開數據庫的連接,很重要!
結果如下:

(6)條件篩選
s1:篩選空單元格行
comm.CommandText = "select * from data1 where ISNULL(合格標記)";//篩選合格標記列含空單元格的行 da.SelectCommand = comm;//官方定義:獲取或設置SQL語句或存儲過程,用於選擇數據源中的記錄 da.Fill(ds);//將從數據庫中獲取的數據添加到DataSet內 dgv.DataSource = ds.Tables[0].DefaultView;//datagridview綁定數據源進行顯示 sda.Close();//斷開數據庫的連接,很重要!
結果如下:

s2:多條件篩選(and)
comm.CommandText = "select * from data1 where 分數 < '3.6' and 學號 > '000031224217'"; //篩選分數小於3.6並且 學號大於000031224217的數據 da.SelectCommand = comm;//官方定義:獲取或設置SQL語句或存儲過程,用於選擇數據源中的記錄 da.Fill(ds);//將從數據庫中獲取的數據添加到DataSet內 dgv.DataSource = ds.Tables[0].DefaultView;//datagridview綁定數據源進行顯示 sda.Close();//斷開數據庫的連接,很重要!
結果如下:

s3:多條件篩選(or)
comm.CommandText = "select * from data1 where 序號 = '3' or 序號 = '9'"; //篩選序號等於3或9的數據 da.SelectCommand = comm;//官方定義:獲取或設置SQL語句或存儲過程,用於選擇數據源中的記錄 da.Fill(ds);//將從數據庫中獲取的數據添加到DataSet內 dgv.DataSource = ds.Tables[0].DefaultView;//datagridview綁定數據源進行顯示 sda.Close();//斷開數據庫的連接,很重要!
結果如下:

s4:多條件篩選(in)
comm.CommandText = "select * from data1 where 序號 in('3','9')"; //篩選序號等於3或9的數據 da.SelectCommand = comm;//官方定義:獲取或設置SQL語句或存儲過程,用於選擇數據源中的記錄 da.Fill(ds);//將從數據庫中獲取的數據添加到DataSet內 dgv.DataSource = ds.Tables[0].DefaultView;//datagridview綁定數據源進行顯示 sda.Close();//斷開數據庫的連接,很重要!
結果如下:

(7)datagridview數據顯示調整
以數據全部顯示為例
comm.CommandText = "select * from data1";//選取data1 da.SelectCommand = comm;//官方定義:獲取或設置SQL語句或存儲過程,用於選擇數據源中的記錄 da.Fill(ds);//將從數據庫中獲取的數據添加到DataSet內 dgv.DataSource = ds.Tables[0].DefaultView;//datagridview綁定數據源進行顯示 sda.Close();//斷開數據庫的連接,很重要! dgv.Columns[2].DataPropertyName = ds.Tables[0].Columns[3].ToString(); //將數據庫第三列的數據顯示在datagridview的第四列--標題不會改變
結果如下:

調整列:
comm.CommandText = "select * from data1";//選取data1 da.SelectCommand = comm;//官方定義:獲取或設置SQL語句或存儲過程,用於選擇數據源中的記錄 da.Fill(ds);//將從數據庫中獲取的數據添加到DataSet內 dgv.DataSource = ds.Tables[0].DefaultView;//datagridview綁定數據源進行顯示 sda.Close();//斷開數據庫的連接,很重要! dgv.Columns[2].DataPropertyName = ds.Tables[0].Columns[3].ToString(); //將數據庫第三列的數據顯示在datagridview的第四列--標題不會改變 dgv.Columns[3].DataPropertyName = ds.Tables[0].Columns[2].ToString(); //將數據庫第四列的數據顯示在datagridview的第三列--標題不會改變
結果如下:

暫時就這些了,以后學會其他的再續上。
