SQLCE數(shù)據(jù)庫(kù)操作總結(jié)_第1頁(yè)
SQLCE數(shù)據(jù)庫(kù)操作總結(jié)_第2頁(yè)
SQLCE數(shù)據(jù)庫(kù)操作總結(jié)_第3頁(yè)
SQLCE數(shù)據(jù)庫(kù)操作總結(jié)_第4頁(yè)
SQLCE數(shù)據(jù)庫(kù)操作總結(jié)_第5頁(yè)
已閱讀5頁(yè),還剩1頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

1、創(chuàng)建新的數(shù)據(jù)庫(kù)SQL Server CE 中的數(shù)據(jù)庫(kù)是存儲(chǔ)結(jié)構(gòu)化數(shù)據(jù)的表集合。在可以存儲(chǔ)數(shù)據(jù)庫(kù)之前,必須創(chuàng)建數(shù)據(jù)庫(kù)。在創(chuàng)建數(shù)據(jù)庫(kù)之后,可以創(chuàng)建保存數(shù)據(jù)的表。在本節(jié)中,您將創(chuàng)建一個(gè)新的數(shù)據(jù)庫(kù),然后創(chuàng)建一個(gè)表,最后將數(shù)據(jù)添加到該表中。若要執(zhí)行這些步驟,請(qǐng)使用 SQL Server CE (System.Data.SqlServerCe) .NET Framework 精簡(jiǎn)版數(shù)據(jù)提供程序的 SqlCeConnection、SqlCeEngine 和 SqlCeCommand 類。注意   不能在此任務(wù)中運(yùn)行僅用于特定步驟的代碼。有關(guān)完整代碼列表,請(qǐng)參見代碼列表:使用 S

2、QL Server CE 數(shù)據(jù)庫(kù)。創(chuàng)建新的 SQL Server CE 數(shù)據(jù)庫(kù) 1. 啟動(dòng) Visual Studio .NET,然后打開一個(gè)新項(xiàng)目。 2. 創(chuàng)建對(duì)使用的命名空間的引用。 復(fù)制using System;using System.IO;using System.Text;using System.Data;using System.Data.SqlServerCe;using System.Collections;using System.Windows.Forms;usinmon;3. 創(chuàng)建 WalkThrough 類。 復(fù)制public class WalkThrough s

3、tatic void Main() SqlCeConnection conn = null; try 4. 驗(yàn)證具有您打算使用的名稱的數(shù)據(jù)庫(kù)是否已存在。 復(fù)制 if ( ("Test.sdf") ) ("Test.sdf");5. 使用 System.Data.SqlCeEngine 對(duì)象創(chuàng)建名為 Test.sdf 的空數(shù)據(jù)庫(kù)。 注意   SQL Server CE 中,數(shù)據(jù)庫(kù)名稱的文件擴(kuò)展名為 .sdf。復(fù)制 SqlCeEngine engine = new SqlCeEngine ("Data Source =

4、 Test.sdf"); engine.CreateDatabase ();6. 連接到這個(gè)新數(shù)據(jù)庫(kù)。 復(fù)制conn = new SqlCeConnection ("Data Source = Test.sdf");conn.Open();創(chuàng)建新表 1. 使用 System.Data.SqlCeCommand 創(chuàng)建命令類的實(shí)例。 復(fù)制SqlCeCommand cmd = conn.CreateCommand();2. 運(yùn)行命令 cmd 創(chuàng)建表。用于創(chuàng)建表的指令必須在 mandText 所包含的 SQL 代碼中。 若要使用 SQL Server CE 的 SQL 編

5、程語(yǔ)言創(chuàng)建表,請(qǐng)使用 CREATE TABLE 語(yǔ)法。有關(guān)更多信息,請(qǐng)參見SQL Server CE 聯(lián)機(jī)手冊(cè)中的用于 SQL Server CE 的 SQL 參考。 復(fù)制mandText = "CREATE TABLE TestTbl(col1 int PRIMARY KEY, col2 ntext, col3 money)"cmd.ExecuteNonQuery();將數(shù)據(jù)添加到新表中 1. 運(yùn)行命令以添加數(shù)據(jù)行。與創(chuàng)建表相同,用于添加行的指令也必須在 mandText 所包含的 SQL 代碼中。 若要使用 SQL Server CE 的 SQL 編程語(yǔ)言將行添加到表中

6、,請(qǐng)使用 INSERT 語(yǔ)法。有關(guān)更多信息,請(qǐng)參見SQL Server CE 聯(lián)機(jī)手冊(cè)中的用于 SQL Server CE 的 SQL 參考。 復(fù)制mandText = "INSERT INTO TestTbl(col1, col2, col3) VALUES (0, 'abc', 15.66)"cmd.ExecuteNonQuery();2. 創(chuàng)建命令,使用參數(shù)將數(shù)據(jù)多次插入表中。 參數(shù)可以更高效地查詢數(shù)據(jù)庫(kù),因?yàn)榭梢允褂靡唤M包含參數(shù)的 SQL 語(yǔ)句插入多個(gè)值。有關(guān)更多信息,請(qǐng)參見SQL Server CE 聯(lián)機(jī)手冊(cè)的在查詢中使用參數(shù)。 復(fù)制mandTex

7、t = "INSERT INTO TestTbl(col1, col2, col3) VALUES (?, ?, ?)"cmd.Parameters.Add(new SqlCeParameter("p1", SqlDbType.Int);cmd.Parameters.Add(new SqlCeParameter("p2", SqlDbType.NText);cmd.Parameters.Add(new SqlCeParameter("p3", SqlDbType.Money);cmd.Parameters"

8、;p2".Size = 50;cmd.Prepare();3. 執(zhí)行參數(shù)化命令,將數(shù)據(jù)插入表中。 復(fù)制cmd.Parameters"p1".Value = 1;cmd.Parameters"p2".Value = "abc"cmd.Parameters"p3".Value = 15.66;cmd.ExecuteNonQuery();4. 清除參數(shù),并檢查已插入表中的數(shù)據(jù)。 若要使用 SQL Server CE 的 SQL 編程語(yǔ)言讀取現(xiàn)有數(shù)據(jù),請(qǐng)使用 SELECT 語(yǔ)法。有關(guān)更多信息,請(qǐng)參見SQL Ser

9、ver CE 聯(lián)機(jī)手冊(cè)中的用于 SQL Server CE 的 SQL 參考。 復(fù)制cmd.Parameters.Clear();/Set the command text to a SELECT query./mandText = "SELECT * FROM TestTbl"讀取 SQL Server CE 數(shù)據(jù)庫(kù)數(shù)據(jù)讀取數(shù)據(jù)庫(kù)數(shù)據(jù)是一種常見的任務(wù),通常涉及對(duì)表行信息的訪問。為使用 System.Data.SqlServerCe 執(zhí)行此任務(wù),您需要 SqlCeDataReader 和 SqlCeCommand 對(duì)象。注意   有關(guān)完整代碼列

10、表,請(qǐng)參見代碼列表:使用 SQL Server CE 數(shù)據(jù)庫(kù)。1. 調(diào)用 SqlCeCommand 對(duì)象的 ExecuteReader 方法以創(chuàng)建 SqlCeDataReader 的實(shí)例。 復(fù)制SqlCeDataReader rdr = cmd.ExecuteReader();2. 指示數(shù)據(jù)讀取器 rdr 在行存在時(shí)在每行的列中顯示數(shù)據(jù)。 復(fù)制while (rdr.Read()MessageBox.Show("col1 = " + rdr.GetInt32(0) + "col2 = " + rdr.GetString(1) + "col3 =

11、" + rdr.GetSqlMoney(2);更改 SQL Server CE 數(shù)據(jù)庫(kù)中的數(shù)據(jù)在創(chuàng)建表后,可以以多種方式修改表中的數(shù)據(jù):更改特定數(shù)據(jù)的屬性,添加和刪除數(shù)據(jù)行,甚至還可以通過修改表中的列來更改存儲(chǔ)數(shù)據(jù)的方式。在本節(jié)中,您將更改表項(xiàng)的值,查找更改的表的數(shù)據(jù)并處理所有錯(cuò)誤。為執(zhí)行這些步驟,您將使用在前面的任務(wù)中使用的類:SqlCeCommand 和 SqlCeDataReader。另外,您將使用 SqlCeException 進(jìn)行錯(cuò)誤處理。注意   不能在此任務(wù)中運(yùn)行僅用于特定步驟的代碼。有關(guān)完整代碼列表,請(qǐng)參見代碼列表:使用 SQL Serv

12、er CE 數(shù)據(jù)庫(kù)。更新 SQL Server CE 表中的數(shù)據(jù) · 設(shè)置命令對(duì)象以使用 UPDATE 語(yǔ)句。 若要使用 SQL Server CE 的 SQL 編程語(yǔ)言更改行列的值,請(qǐng)使用 UPDATE 語(yǔ)法。有關(guān)更多信息,請(qǐng)參見SQL Server CE 聯(lián)機(jī)手冊(cè)中的用于 SQL Server CE 的 SQL 參考。 復(fù)制mandText = "UPDATE TestTbl SET col2 = 'some new value' WHERE col1 = 0"cmd.ExecuteNonQuery();讀取 SQL Server CE 表中的

13、數(shù)據(jù) 1. 設(shè)置命令對(duì)象以使用 SELECT 語(yǔ)句,然后通過執(zhí)行 SqlCeCommand.ExecuteReader 創(chuàng)建數(shù)據(jù)讀取器的實(shí)例。 復(fù)制 mandText = "SELECT * FROM TestTbl" rdr = cmd.ExecuteReader(); while (rdr.Read() MessageBox.Show(" col1 = " + rdr.GetInt32(0) + " col2 = " + rdr.GetString(1) + " col3 = " + rdr.GetSqlMon

14、ey(2); 2. 使用 SqlCeException 捕獲任何錯(cuò)誤,然后關(guān)閉與數(shù)據(jù)庫(kù)的連接。 復(fù)制 catch (SqlCeException e) ShowErrors(e);finally if(conn.State = ConnectionState.Open) conn.Close(); public static void ShowErrors(SqlCeException e) SqlCeErrorCollection errorCollection = e.Errors; StringBuilder bld = new StringBuilder(); foreach (Sql

15、CeError err in errorCollection) bld.Append("n Error Code: " + err.HResult.ToString("X"); bld.Append("n Message : " + err.Message); bld.Append("n Minor Err.: " + err.NativeError); bld.Append("n Source : " + err.Source); foreach (int numPar in err.NumericErrorParameters) if (0 != numPar) bld.Append("n Num. Par. : " + numPar); foreach (str

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論