工業製造
産業用モノのインターネット | 工業材料 | 機器のメンテナンスと修理 | 産業プログラミング |
home  MfgRobots >> 工業製造 >  >> Industrial programming >> C言語

C#データベース接続チュートリアル:SQL Server接続とCRUD操作の実践

データベース操作はC#開発者にとって必須スキルです。このガイドでは、Microsoft SQL Serverへの接続、クエリ実行、Windows Formsコントロールへのデータバインディング方法を解説します。

データベース接続の基礎

Oracle、MySQL、MongoDB、Microsoft SQL Serverのいずれを使用する場合も、接続、クエリ、挿入、更新、削除のプロセスは一貫しています。このチュートリアルでは無料のSQL Server Expressエディションを使用してSQL Serverに焦点を当てます。

C#でのSQLコマンド

SqlCommandクラスがSQLステートメントをデータベースに送信。SELECTクエリにはExecuteReader、INSERT/UPDATE/DELETEにはExecuteNonQueryを使用。

C#からSQL Serverへの接続

以下は、資格情報sa / demo123を使用してDemodbというデータベースに接続する最小限のWindows Forms例です。ボタンクリックイベントで接続を開き、メッセージを表示、閉じます。

ステップ1: Visual StudioでWindows Formsプロジェクトを作成。ステップ2: btnConnectという名前のButtonを追加、テキストを"Connect"に設定。ステップ3: 以下のイベントハンドラを追加:

using System;
using System.Data.SqlClient;
using System.Windows.Forms;
namespace DemoApplication1 {
    public partial class Form1 : Form {
        public Form1() => InitializeComponent();
        private void btnConnect_Click(object sender, EventArgs e) {
            string connectionString = "Data Source=WIN-50GP30FGO75;Initial Catalog=Demodb;User ID=sa;Password=demo123";
            using (SqlConnection conn = new SqlConnection(connectionString)) {
                conn.Open();
                MessageBox.Show("Connection Opened!");
                conn.Close();
            }
        }
    }
}

アプリケーション実行後、ボタンをクリックすると確認メッセージが表示されます。

SqlDataReaderによるデータ読み取り

demotbテーブルがTutorialIDとTutorialNameカラムを持つと仮定:

TutorialIDTutorialName
1C#
2ASP.NET

以下のコードで行を取得・表示:

string sql = "SELECT TutorialID, TutorialName FROM demotb";
using (SqlCommand cmd = new SqlCommand(sql, conn))
using (SqlDataReader reader = cmd.ExecuteReader()) {
    string output = "";
    while (reader.Read()) {
        output += $"ID: {reader[\"TutorialID\"]}, Name: {reader[\"TutorialName\"]}\n";
    }
    MessageBox.Show(output);
}

レコードの挿入

新しいチュートリアル(ID 3、Name VB.NET)を追加:

string insertSql = "INSERT INTO demotb (TutorialID, TutorialName) VALUES (3, 'VB.NET')";
using (SqlCommand cmd = new SqlCommand(insertSql, conn)) {
    cmd.ExecuteNonQuery();
}

レコードの更新

ID 3のチュートリアルを"VB.NET Complete"に更新:

string updateSql = "UPDATE demotb SET TutorialName = 'VB.NET Complete' WHERE TutorialID = 3";
using (SqlCommand cmd = new SqlCommand(updateSql, conn)) {
    cmd.ExecuteNonQuery();
}

レコードの削除

ID 3のレコードを削除:

string deleteSql = "DELETE FROM demotb WHERE TutorialID = 3";
using (SqlCommand cmd = new SqlCommand(deleteSql, conn)) {
    cmd.ExecuteNonQuery();
}

コントロールへのデータバインディング

Windows Formsはデータバインディングを提供し、手動UI更新を不要にします。2つのTextBoxコントロールをフォームにドラッグし、txtIDとtxtNameと命名、BindingNavigatorを追加。

データソースウィザードでdemotbのプロジェクトデータソースを作成。その後:

  1. txtIDを選択、プロパティウィンドウでDataBindings → Textをクリック、demotbBindingSource - TutorialIDにバインド。
  2. txtNameも同様にTutorialNameにバインド。
  3. BindingNavigatorのBindingSourceプロパティをdemotbBindingSourceに設定。

フォーム実行時、テキストボックスに最初のレコードが表示され、ナビゲーターで行を自動移動できます。

DataGridViewでのデータ表示

DataGridViewをフォームにドラッグ。プロパティでDataSourceをdemotbBindingSourceに設定。グリッドにテーブルの全行が自動表示されます。

まとめ

C言語

  1. Lego Mindstorms NXT超音波センサーをRaspberry Piに直接接続する
  2. サーバー自動化:デスクトップマクロからFANGプラットフォームへ
  3. 米国サプライチェーン強化:内陸港の戦略的役割
  4. ハース CNC を PC またはノートパソコンに接続:ステップバイステップガイド
  5. 難読化VPNサーバーの理解:仕組みと重要性
  6. 3ドルのESP8266でTLS対応Webサーバーを30分以内に導入
  7. C 言語の文字列をマスター: 宣言、入力、出力、ライブラリ関数
  8. C言語のrealloc()活用ガイド:構文、ベストプラクティス、実例
  9. C言語free()関数完全マスター:実践ガイドと例
  10. Java String.length()メソッド:文字列サイズ取得の実例解説
  11. Java BufferedReader でファイル読み込み:実践ガイドと例