HOWTO · Csharp

C# で SQL データベースを作成する

このチュートリアルでは、SQL データベースを作成する方法と、そのデータベース内のテーブルからデータを格納および取得する方法を学習します。

このページの内容

この記事では、データを読み書きできるように、SQL データベースとその中にテーブルを構築する方法の概要を説明します。

SQL データベースを作成する手順

以下は、SQL データベースを作成する手順です。

  • SQL Management Studio を起動して開始します。
  • 接続するには、(LocalDB)MSSQLLocalDB のようなサーバー名を入力し、Connect ボタンをクリックする必要があります。
  • 新しいデータベースを作成するには、左パネルのデータベース アイコンを右クリックし、コンテキスト メニューから [新しいデータベース] を選択します。 そして最後に、名前を付けます。
  • その後、ドロップダウン メニューから New Query を選択し、次のようにクエリを作成します。
    use readwrite
    create table mydata (id int primary key identity(1,1),myname varchar(50),Email varchar(50),phone varchar(50))
    select * from mydata
    

Microsoft Visual Studio で Windows フォームを作成する

Microsoft Visual Studio では、最初に新しいプロジェクトを作成する必要があります。 [プロジェクトの種類] というラベルの付いたドロップダウン オプションから、[Windows フォーム アプリケーション C#] を選択します。

2つのファイルを含むフォームが生成されます。1つは form.cs という名前で、もう 1つは form.cs (デザイン) です。 デザイン ファイルに 3つのラベルを追加し、それらを nameTxtemailTxt、および phoneTxt と呼びます。

それぞれに NameEmailPhone# という単語をそれぞれ入力します。 プロジェクトを保存します。

2つのボタンを作成し、getDatasaveData という名前を付ける必要があります。 ボタンに表示されるテキスト ボックスに、Save Data と Get Data を入力します。

さらに、データ グリッド ビューをフォームに追加する必要があります。 このグリッド ビューは、データベース内の既存のテーブルからデータを取得し、テーブルの内容をすべて出力する必要があります。

これは、完成したばかりのフォームを視覚的に表したものです。

C# SQL データベースの作成 - 空のフォーム

関数を実装する

まず、SqlDataAdapter 型の変数を作成し、da という名前を付けます。 これは、データベースに格納されているテーブルからデータを取得するために使用するものです。

SqlDataAdapter da = new SqlDataAdapter(
    "SELECT \* FROM mydata",
    @"Data Source=(LocalDB)\MSSQLLocalDB ; Initial Catalog=readwrite; Integrated Security=True");

次に、con という名前が付けられる SqlConnection 型のオブジェクトを使用してデータベース接続を構築します。 ここでは、データ ソース、データベース名、および統合セキュリティを提供します。

SqlConnection con = new SqlConnection(
    @"Data Source=(LocalDB)\MSSQLLocalDB ; Initial Catalog=readwrite; Integrated Security=True");
SqlCommand cmd;

ここで、[保存] ボタンのコードを作成します。 まず、機能の実行を開始できるように、データベースとの接続を開始します。

テキスト ボックスからデータを収集し、SqlCommand オブジェクトに添付する挿入クエリを使用して提供されたデータベースに保存します。 その後、データが正常に入力されたかどうかを確認するダイアログ ボックスが表示されます。

private void Savebtn_Click(object sender, EventArgs e) {
  con.Open();
  cmd = new SqlCommand("insert into mydata values ('" + nametxt.Text + "','" + emailtxt.Text +
                           "','" + phonetxt.Text + "')",
                       con);
  cmd.ExecuteNonQuery();
  MessageBox.Show("Data is Saved");
  con.Close();
  nametxt.Clear();
  emailtxt.Clear();
  phonetxt.Clear();
}

最後に、データを dataGridView に取り込むためのコードを記述します。 これを行うには、DataSet タイプのオブジェクトを作成し、データベースから取得したデータを入力します。

private void Getbtn_Click(object sender, EventArgs e) {
  DataSet ds = new DataSet();
  da.Fill(ds, "mydata");
  dataGridView1.DataSource = ds.Tables["mydata"].DefaultView;
}

ソースコード:

using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;
using System.Data.SqlClient;

namespace Saad_artilce_final_version {
  public partial class Form1 : Form {
    SqlDataAdapter da = new SqlDataAdapter(
        "SELECT * FROM mydata",
        @"Data Source=(LocalDB)\MSSQLLocalDB ; Initial Catalog=readwrite; Integrated Security=True");

    SqlConnection con = new SqlConnection(
        @"Data Source=(LocalDB)\MSSQLLocalDB ; Initial Catalog=readwrite; Integrated Security=True");
    SqlCommand cmd;
    public Form1() {
      InitializeComponent();
    }

    private void Savebtn_Click(object sender, EventArgs e) {
      con.Open();
      cmd = new SqlCommand("insert into mydata values ('" + nametxt.Text + "','" + emailtxt.Text +
                               "','" + phonetxt.Text + "')",
                           con);
      cmd.ExecuteNonQuery();
      MessageBox.Show("Data is Saved");
      con.Close();
      nametxt.Clear();
      emailtxt.Clear();
      phonetxt.Clear();
    }

    private void Getbtn_Click(object sender, EventArgs e) {
      DataSet ds = new DataSet();
      da.Fill(ds, "mydata");
      dataGridView1.DataSource = ds.Tables["mydata"].DefaultView;
    }
  }
}

出力:

C# SQL データベースの作成 - ダイアログ

C# SQL データベースの作成 - データの取得