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つのラベルを追加し、それらを nameTxt、emailTxt、および phoneTxt と呼びます。
それぞれに Name、Email、Phone# という単語をそれぞれ入力します。 プロジェクトを保存します。
2つのボタンを作成し、getData と saveData という名前を付ける必要があります。 ボタンに表示されるテキスト ボックスに、Save Data と Get Data を入力します。
さらに、データ グリッド ビューをフォームに追加する必要があります。 このグリッド ビューは、データベース内の既存のテーブルからデータを取得し、テーブルの内容をすべて出力する必要があります。
これは、完成したばかりのフォームを視覚的に表したものです。
関数を実装する
まず、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;
}
}
}
出力: