首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 編程語言 >  >> C語言 >> 關於C語言

C# Builder 個人版中使用 ADO.NET(一):連線 MSDE、SqlCommand 建表與插入資料

     編輯:關於C語言

前言:Personal 版限制與因應

C# Builder 專業版內建 Borland Data Providers (BDP) 支援 DB2、InterBase、Oracle、SQL Server 等;Personal 版不含 BDP,僅能使用 .NET Framework 內建的 System.Data.SqlClient (SQL Server/MSDE) 或 System.Data.OleDb 進行最基礎的 ADO.NET 開發。

建立專案與 SqlConnection 設定

  1. 檔案 → 新增 → C# Application
  2. 拖曳 SqlConnection (命名 sqlConnection1)
  3. 設定 ConnectionString:

Data Source=.;Initial Catalog=master;Integrated Security=SSPI

master 為 MSDE 內建系統資料庫;實務上請改用自建資料庫。

測試連線:第一個按鈕 Click 事件


private void button1_Click(object sender, EventArgs e)
{
    try
    {
        sqlConnection1.ConnectionString = "Data Source=.;Initial Catalog=master;Integrated Security=SSPI";
        sqlConnection1.Open();
        MessageBox.Show("連線成功!");
    }
    catch (Exception ex)
    {
        MessageBox.Show(ex.Message); // 常見錯誤:MSDE 未啟動、連線字串錯誤、權限不足
    }
}
此步驟最易失敗,請確認 SQL Server/MSDE 服務已啟動、連線字串正確、防火牆允許 1433 埠。

SqlCommand 執行 DDL/DML:第二個按鈕 Click 事件

拖曳 SqlCommand (命名 sqlCommand1) → 設定 Connection = sqlConnection1 → 程式碼控制 CommandText 執行多條 SQL:


private void button2_Click(object sender, EventArgs e)
{
    try
    {
        sqlCommand1.Connection = sqlConnection1;

        // 1. 刪除舊表 (若不存在會擲出例外,用空 catch 忽略)
        sqlCommand1.CommandText = "drop table test42";
        try { sqlCommand1.ExecuteNonQuery(); } catch { }

        // 2. 建立新表
        sqlCommand1.CommandText = "create table test42 (id int NOT NULL, name nvarchar(42))";
        sqlCommand1.ExecuteNonQuery();

        // 3. 插入三筆測試資料
        sqlCommand1.CommandText = "insert into test42 values(1, N'Bob Swart')";
        sqlCommand1.ExecuteNonQuery();
        sqlCommand1.CommandText = "insert into test42 values(2, N'Erik Mark Pascal Swart')";
        sqlCommand1.ExecuteNonQuery();
        sqlCommand1.CommandText = "insert into test42 values(3, N'Natasha Louise Delphine Swart')";
        sqlCommand1.ExecuteNonQuery();
    }
    catch (Exception ex)
    {
        MessageBox.Show(ex.Message);
    }
}

關鍵觀念

  • ExecuteNonQuery():執行不傳回資料列的 SQL (DDL、INSERT、UPDATE、DELETE),回傳影響列數。
  • 中文資料前綴 N:nvarchar 儲存 Unicode,SQL 字串常數需加 N'...' 避免編碼問題。
  • 物件檢視器設定 Connection 屬性技巧:屬性值欄位雙擊或輸入首字母快速選取元件名稱。

下一篇將示範 SqlDataAdapter、DataSet、DataGrid 完成資料查詢與顯示。

  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved