成人午夜激情影院,小视频免费在线观看,国产精品夜夜嗨,欧美日韩精品一区二区在线播放

操作SQL Server CE(SqlCE)數據庫的例子

2010-08-28 10:49:52來源:西部e網作者:

本節將指導您完成使用 Microsoft SQL Server 2000 Windows CE Edition (SQL Server CE) 數據庫時需要執行的主要任務。假定您沒有任何 SQL Server CE 數據庫,需要在新的 Microsoft Visual Studio .NET 項目中創建新的數據庫。

該演練包括以下任務:

  • 創建新的 SQL Server CE 數據庫
  • 讀取 SQL Server CE 數據庫數據
  • 更改 SQL Server CE 數據庫中的數據

闡釋以上每個任務步驟的代碼旨在一起運行。不能在任務中運行僅用于特定步驟的代碼。有關完整代碼列表,請參見代碼列表:使用 SQL Server CE 數據庫

創建新的數據庫

SQL Server CE 中的數據庫是存儲結構化數據的表集合。在可以存儲數據庫之前,必須創建數據庫。在創建數據庫之后,可以創建保存數據的表。

在本節中,您將創建一個新的數據庫,然后創建一個表,最后將數據添加到該表中。若要執行這些步驟,請使用 SQL Server CE (System.Data.SqlServerCe) .NET Framework 精簡版數據提供程序的 SqlCeConnectionSqlCeEngineSqlCeCommand 類。

注意   不能在此任務中運行僅用于特定步驟的代碼。有關完整代碼列表,請參見代碼列表:使用 SQL Server CE 數據庫

創建新的 SQL Server CE 數據庫

  1. 啟動 Visual Studio .NET,然后打開一個新項目。
  2. 創建對使用的命名空間的引用。
    using System;
                    using System.IO;
                    using System.Text;
                    using System.Data;
                    using System.Data.SqlServerCe;
                    using System.Collections;
                    using System.Windows.Forms;
                    using System.Data.Common;
  3. 創建 WalkThrough 類。
    public class WalkThrough
                    {
                    static void Main()
                    {
                    SqlCeConnection conn = null;
                    try
                    {
  4. 驗證具有您打算使用的名稱的數據庫是否已存在。
                if (File.Exists (Test.sdf) )
                    File.Delete (Test.sdf);
  5. 使用 System.Data.SqlCeEngine 對象創建名為 Test.sdf 的空數據庫。
    注意   SQL Server CE 中,數據庫名稱的文件擴展名為 .sdf。
                SqlCeEngine engine = new SqlCeEngine (Data Source = Test.sdf);
                    engine.CreateDatabase ();
  6. 連接到這個新數據庫。
    conn = new SqlCeConnection (Data Source = Test.sdf);
                    conn.Open();

創建新表

  1. 使用 System.Data.SqlCeCommand 創建命令類的實例。
    SqlCeCommand cmd = conn.CreateCommand();
  2. 運行命令 cmd 創建表。用于創建表的指令必須在 cmd.CommandText 所包含的 SQL 代碼中。

    若要使用 SQL Server CE 的 SQL 編程語言創建表,請使用 CREATE TABLE 語法。有關更多信息,請參見《SQL Server CE 聯機手冊》中的用于 SQL Server CE 的 SQL 參考。

    cmd.CommandText = CREATE TABLE TestTbl(col1 int PRIMARY KEY, col2 ntext, col3 money);
                    cmd.ExecuteNonQuery();

將數據添加到新表中

  1. 運行命令以添加數據行。與創建表相同,用于添加行的指令也必須在 cmd.CommandText 所包含的 SQL 代碼中。

    若要使用 SQL Server CE 的 SQL 編程語言將行添加到表中,請使用 INSERT 語法。有關更多信息,請參見《SQL Server CE 聯機手冊》中的用于 SQL Server CE 的 SQL 參考。

    cmd.CommandText =  INSERT INTO TestTbl(col1, col2, col3) VALUES (0, 'abc', 15.66);
                    cmd.ExecuteNonQuery();
  2. 創建命令,使用參數將數據多次插入表中。

    參數可以更高效地查詢數據庫,因為可以使用一組包含參數的 SQL 語句插入多個值。有關更多信息,請參見《SQL Server CE 聯機手冊》的在查詢中使用參數。

    cmd.CommandText = 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[p2].Size = 50;
                    cmd.Prepare();
  3. 執行參數化命令,將數據插入表中。
    cmd.Parameters[p1].Value = 1;
                    cmd.Parameters[p2].Value = abc;
                    cmd.Parameters[p3].Value = 15.66;
                    cmd.ExecuteNonQuery();
  4. 清除參數,并檢查已插入表中的數據。

    若要使用 SQL Server CE 的 SQL 編程語言讀取現有數據,請使用 SELECT 語法。有關更多信息,請參見《SQL Server CE 聯機手冊》中的用于 SQL Server CE 的 SQL 參考。

    cmd.Parameters.Clear();
                    //Set the command text to a SELECT query.
                    //
                    cmd.CommandText = SELECT * FROM TestTbl;

讀取 SQL Server CE 數據庫數據

讀取數據庫數據是一種常見的任務,通常涉及對表行信息的訪問。為使用 System.Data.SqlServerCe 執行此任務,您需要 SqlCeDataReaderSqlCeCommand 對象。

注意   有關完整代碼列表,請參見代碼列表:使用 SQL Server CE 數據庫
  1. 調用 SqlCeCommand 對象的 ExecuteReader 方法以創建 SqlCeDataReader 的實例。
    SqlCeDataReader rdr = cmd.ExecuteReader();
  2. 指示數據讀取器 rdr 在行存在時在每行的列中顯示數據。
    while (rdr.Read())
                    {MessageBox.Show(col1 =  + rdr.GetInt32(0) +
                    col2 =  + rdr.GetString(1) +
                    col3 =  + rdr.GetSqlMoney(2));
                    }

更改 SQL Server CE 數據庫中的數據

在創建表后,可以以多種方式修改表中的數據:更改特定數據的屬性,添加和刪除數據行,甚至還可以通過修改表中的列來更改存儲數據的方式。

在本節中,您將更改表項的值,查找更改的表的數據并處理所有錯誤。為執行這些步驟,您將使用在前面的任務中使用的類:SqlCeCommandSqlCeDataReader。另外,您將使用 SqlCeException 進行錯誤處理。

注意   不能在此任務中運行僅用于特定步驟的代碼。有關完整代碼列表,請參見代碼列表:使用 SQL Server CE 數據庫

更新 SQL Server CE 表中的數據

  • 設置命令對象以使用 UPDATE 語句。

    若要使用 SQL Server CE 的 SQL 編程語言更改行列的值,請使用 UPDATE 語法。有關更多信息,請參見《SQL Server CE 聯機手冊》中的用于 SQL Server CE 的 SQL 參考。

    cmd.CommandText = UPDATE TestTbl SET col2 = 'some new value' WHERE col1 = 0;
                    cmd.ExecuteNonQuery();

讀取 SQL Server CE 表中的數據

  1. 設置命令對象以使用 SELECT 語句,然后通過執行 SqlCeCommand.ExecuteReader 創建數據讀取器的實例。
                cmd.CommandText = SELECT * FROM TestTbl;
                    rdr = cmd.ExecuteReader();
                    while (rdr.Read())
                    {
                    MessageBox.Show( col1 =  + rdr.GetInt32(0) +
                    col2 =  + rdr.GetString(1) +
                    col3 =  + rdr.GetSqlMoney(2));
                    }
                    }
  2. 使用 SqlCeException 捕獲任何錯誤,然后關閉與數據庫的連接。
     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 (SqlCeError 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 (string errPar in err.ErrorParameters)
                    {
                    if (String.Empty != errPar) bld.Append(\n Err. Par. :  + errPar);
                    }
                    MessageBox.Show(bld.ToString());
                    bld.Remove(0, bld.Length);
                    }
                    }
                    }

有關 SQL Server CE 中的錯誤處理的更多信息,請參見《SQL Server CE 聯機手冊》中的錯誤處理。

原文:http://msdn.microsoft.com/library/CHS/dv_evtuv/html/etconwalkthroughcreatingsqlservercedatabase.asp

關鍵詞:SqlCE
主站蜘蛛池模板: 镇安县| 长子县| 荔波县| 洱源县| 哈密市| 丰顺县| 南郑县| 同江市| 察雅县| 勐海县| 南和县| 丰原市| 天气| 临洮县| 东乌珠穆沁旗| 青冈县| 来安县| 扎赉特旗| 财经| 珠海市| 深州市| 奉新县| 辽宁省| 老河口市| 五常市| 简阳市| 胶南市| 东方市| 洞口县| 图木舒克市| 百色市| 兴义市| 康马县| 彰化县| 保靖县| 原阳县| 衡水市| 邓州市| 临沧市| 邵武市| 隆尧县|