上次寫到使用數據綁定的方法測試本地sqlce數據庫,這次使用訪問SQL Server的方法訪問sqlce,你會發現他們是如此的相似。。。
參考資料:http://www.cnblogs.com/rainman/archive/2012/03/13/2393975.html
本文的最后附有本次測試的全部代碼,大家可以去下載。當然,我更希望這里作為一個交流的平台,能夠相互的學習,如果你們有其他的想法希望可以告訴我
注:開發環境VS2008 開發語言:C#
1.創建Wince下的Winform窗體程序:
具體過程不再贅述,可參照上一篇博文,我這里做了一個簡單的數據增刪改查的示例。
注:創建完成后需要添加對SqlServerCe的引用:
路徑:C:\Program Files\Microsoft SQL Server Compact Edition\v3.5\Devices\System.Data.SqlServerCe.dll
添加引用:using System.Data.SqlServerCe
圖1 添加對SqlServerCe的引用
對於主窗體,包含
6個button,分別為:全部顯示,部分顯示,增加,刪除,修改和退出;
1個datagrid:用於數據顯示。
圖2 主窗體
2.全部顯示
圖3 添加顯示的數據庫文件
圖4 全部顯示
1 string strAddr = ""; 2 3 OpenFileDialog ofd = new OpenFileDialog(); 4 if (ofd.ShowDialog() == DialogResult.OK) 5 { 6 strAddr = ofd.FileName; 7 } 8 string constr = "Data Source=" + strAddr + ";"; 9 SqlCeConnection conn = new SqlCeConnection(constr); 10 conn.Open(); 11 12 string cmdtxt = "select * from DBtest"; 13 SqlCeDataAdapter adap = new SqlCeDataAdapter(cmdtxt, conn); 14 DataSet ds = new DataSet(); 15 adap.Fill(ds); 16 17 dataGrid1.DataSource = ds.Tables[0].DefaultView;
3.部分顯示
對於部分顯示,本次只讀取了name和sex兩列,細心的話你會注意到這里顯示的是“姓名”“性別”而不是全部顯示里的“name”“sex”
圖5 部分顯示
1 string strAddr = ""; 2 3 OpenFileDialog ofd = new OpenFileDialog(); 4 if (ofd.ShowDialog() == DialogResult.OK) 5 { 6 strAddr = ofd.FileName; 7 } 8 string constr = "Data Source=" + strAddr + ";"; 9 SqlCeConnection conn = new SqlCeConnection(constr); 10 conn.Open(); 11 12 string cmdtxt = "select name as 姓名,sex as 性別 from DBtest"; 13 SqlCeDataAdapter adap = new SqlCeDataAdapter(cmdtxt, conn); 14 DataSet ds = new DataSet(); 15 adap.Fill(ds); 16 17 dataGrid1.DataSource = ds.Tables[0].DefaultView;
4.刪除
刪除"name"為“zhao”的項,然后重新打開部分顯示(沒辦法,增加刪除沒有做輸入控件,無法選擇或者信息填入,就拿個固定的項做個示例)
圖6 刪除
1 string strAddr = ""; 2 OpenFileDialog ofd = new OpenFileDialog(); 3 if (ofd.ShowDialog() == DialogResult.OK) 4 { 5 strAddr = ofd.FileName; 6 } 7 string constr = "Data Source=" + strAddr + ";"; 8 SqlCeConnection conn = new SqlCeConnection(constr); 9 conn.Open(); 10 11 SqlCeCommand mycommand = new SqlCeCommand(); 12 mycommand.CommandType = CommandType.Text; 13 //mycommand.CommandText = "select select name as 姓名,sex as 性別 from DBtest"; 14 mycommand.CommandText = "delete from DBtest where name='zhao'"; 15 mycommand.Connection = conn; 16 17 mycommand.ExecuteNonQuery(); 18 conn.Close();
5.增加
注:此操作需要在刪除后進行,否則因為存在相同的記錄,程序會報錯(這只是一個示例,大家不要強求太完美啊==!)
圖7 增加
1 string strAddr = ""; 2 OpenFileDialog ofd = new OpenFileDialog(); 3 if (ofd.ShowDialog() == DialogResult.OK) 4 { 5 strAddr = ofd.FileName; 6 } 7 string constr = "Data Source=" + strAddr + ";"; 8 SqlCeConnection conn = new SqlCeConnection(constr); 9 conn.Open(); 10 11 SqlCeCommand mycommand = new SqlCeCommand(); 12 mycommand.CommandType = CommandType.Text; 13 //mycommand.CommandText = "select select name as 姓名,sex as 性別 from DBtest"; 14 mycommand.CommandText = "insert into DBtest(name,sex,tel) values ('zhao','man','111111111')"; 15 mycommand.Connection = conn; 16 17 mycommand.ExecuteNonQuery(); 18 conn.Close();
6.修改
將“zhao”這一條記錄的“tel”改為“2222222222”(注,原來為1111111111,上一條剛剛增加)
圖8 修改
1 string strAddr = ""; 2 OpenFileDialog ofd = new OpenFileDialog(); 3 if (ofd.ShowDialog() == DialogResult.OK) 4 { 5 strAddr = ofd.FileName; 6 } 7 string constr = "Data Source=" + strAddr + ";"; 8 SqlCeConnection conn = new SqlCeConnection(constr); 9 conn.Open(); 10 11 SqlCeCommand mycommand = new SqlCeCommand(); 12 mycommand.CommandType = CommandType.Text; 13 //mycommand.CommandText = "insert into DBtest(name,sex,tel) values ('zhao','man','111111111')"; 14 mycommand.CommandText = "update DBtest set tel='2222222222'where name='zhao'"; 15 mycommand.Connection = conn; 16 17 mycommand.ExecuteNonQuery(); 18 conn.Close();
7.寫在最后的話
本人不是計算機出身,上位機開發和數據庫純屬自學,但是還是希望能和各位朋友能夠交流。我也有很多不會的,但是我會把自己會的,或者自認為可以很好解決某一個問題的方法拿出來和大家交流,希望借助博客這個平台,交到很多志同道合的朋友!!!!!
8.下載地址
代碼下載地址:
http://download.csdn.net/detail/u010312811/8398555
下載的積分有點高,實在是csdn太坑,我也是被其他網友把積分都坑完了。有不想花積分的可以留下郵箱,我把代碼發過去,不好意思哈