[ .NET ] SQL CE reset ID 為初始值

在資料庫中若僅是刪除 ( Delete ) 資料或是清空資料的話,則下次加進來的資料

其自動產生的 ID ( 或是 IDENTITY ) 仍會以最後產生之 ID 為基準向下遞增;在測

試完資料庫後,若想將 ID reset ,一般資料庫 ( SQL ) 可使用以下指令:

       TRUNCATE TABLE '資料表名稱'

但在 SQL Server CE 中,發現無法使用此語法來達到初始化的效果,在谷歌後

發現這個問題並不難解,這篇討論中可以得知,使用以下指令:

     ALTER TABLE '資料表名稱' ALTER COLUMN ID IDENTITY (1,1)

即可將資料表清空且 ID 初始化。

DONE!

[ .NET ] ASP.NET C# 無法使用 SqlCeConnection 之問題解決

上一篇成功建立了 SqlCe 的資料庫檔案 (.sdf) ,接著是在程式中對資料庫的操作。

在 C# 中要對 SQL Server Compact Edition 進行連線,則需使用 SqlCeConnection

,在這邊參考黃大師的數字筆記,很明確地指出,若要使用 SqlCeConnection,

則需最額外參考的加入。

圖片

圖片

加入參考後,即可 using 。圖片

———————————————————————————————————————

接著再參考一次黃大師的數字筆記之二

在 ASP.NET 使用 SqlCeConnection 時會發生例外 (並非設計供 ASP.NET使用)

解決方法如下:

在使用 SqlCeConnection 前加上
AppDomain.CurrentDomain.SetData(“SQLServerCompactEditionUnderWebHosting", true);
黃大師數字筆記中提到,建議將此行放在 Global.asax 的 Application_Start 中,讓此行僅執行一次即可。

DONE!

[ .NET ] 於 ASP.NET C# 中使用 SQL Sever Compact

製作UU網頁時,在背後需要一個資料庫,在同學的建議之下,使用 SqlCe 來製作,

而使用 SQL Server Compact 產生資料庫 (.sdf) 在網頁專案中並無法直接使用。

原因可由此篇文章中得知:「微軟官方認為 SQLCE 本就不是開發在多人環境下使用,

所以才無法在 WEB 這種多人專案上直接新增出 SQLCE 檔。」

——————————————————————————————————————

[ 解決方法 ]

  1. 建立 Windows Form 專案,再由此新增一個 SQLCE 檔案。
    圖片
  2. 接著於模型(.edmx)中繪製資料表間關聯性。圖片
  3. 繪製完成後,按右鍵選擇「由模型產生資料庫」,選擇欲連線資料庫後完成。
    圖片
  4. 按完成後,會產生 .sqlce 檔,雙擊此檔案會看到語法頁,
    於此頁按右鍵選擇「執行SQL」,在資料庫檔案中選取資料庫路徑即可。
    圖片圖片
  5. 完成連接後,此 Database.sdf 即可使用。
    ( 若於 WEB 專案中欲使用 .sdf 的話,在伺服器總管中「加入資料連接」
    選擇「Microsoft SQL Server Compact 3.5(or 4.0)」,接著設定剛剛產
    生的 .sdf 檔即可。)
    圖片圖片
    圖片
  6. 打完收工,DONE!

[ C# ] 資料庫程式連接方式

今天在撰寫程式與資料庫溝通時找到一篇整理的很好的文章

以下筆記了幾種資料庫 (Access, SQL, MySQL) 的連結方式:

  1. 連接 Accessusing System.Data.OleDb;

    String strCon =
              “Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" + 檔案名稱 + “.mdb;" ;
    OleDbConnection AccessCon = new OleDbConnection(strCon);
    AccessCon.Open() ;           // 開啟資料庫連接

    AccessCon.Close() ;          // 關閉對資料庫連接

  2. 連接 Excel

    using System.Data.OleDb;

    String strCon =
              “Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" + 檔案名稱 +
    “.xls;ExtendedProperties=Excel 8.0;" ;

    OleDbConnection ExcelCon = new OleDbConnection(strCon);
    ExcelCon.Open();

    ExcelCon.Dispose();                // 釋放 Component 所使用的資源

  3. 連接 SQL Severusing System.Data.SqlClient;

    // 用 Windows 身份驗證
    String strCon =
              “Data Source=(local);Initial Catalog=TestDb;Integrated Security=SSPI;" ;

    // 用 SQL Server 身份驗證
    String strCon =
    @“Data Source=.\SQLExpress;Database=TestDb;Uid=user;Pwd=****;" ;

    SqlConnection SqlSvrCon = new SqlConnection(strCon);
    SqlSvrCon.Open();

    SqlSvrCon.Close();

  4. 連接 MySQL
    要連接 MySQL 前需先加入參考 ( Mysql.Data.dll )
    using MySql.Data.MySqlClient;MySqlConnection my_DB_Connection;
    string myConnection_DB_String;

    myConnection_DB_String = String.Format(
           “server={0};user id={1}; password={2}; database={3}; pooling=false",
           “127.0.0.1″, “root", “xxxx", “testDB"); // 連結mdb之字串
    my_DB_Connection = new MySqlConnection(myConnection_DB_String);
    my_DB_Connection.Open();

    my_DB_Connection.Close();

  • p.s. 綠字部分為自行修改的檔案名稱、使用者帳號或密碼。

參考文章:隨便寫寫的新天地