C# ログイン画面作成方法(SQL server)

C#

今回はVisual stadioを使ってログイン画面を作成します。

データベースはSQL Serverを使います。

使っているバージョンは古いですが、操作はそんなに変わらないのであまり気にしないで大丈夫です。

簡単な画面を作成していくので皆さんの参考になれば幸いです。

・画面作成

こちらはvisual stadioの方で画面を作成を行っていきます。

ツールボックスからLabel,TextBox,buttonをFormに挿入します。

ここでのプロパティ設定は以下の通りです。(以下の設定は画面を見やすくするためのものです)

・label1のプロパティのtextをログインIDに設定。

・label2のプロパティのtextをパスワードに設定。

・buttonのプロパティのtextをログインに設定。

これらのツールの配置、設定を終えたら次に行ってみましょう。

・テーブル作成

続いてはテーブルを作成していきます。

このテーブルは、先ほど作った画面を実行してログインをする際にテーブル内にデータがないと

ログインできないようにするため、ここにデータを入れときます。

textbox1のログインIDはlogin_idに、textbox2のパスワードはpassに入ります。

ここでのデータ型は意味は特にないですが両方nchar(10)にしてます。

テーブル名はなんでもいいのですがここではZ_ログインとしときます。

・コーディング方法

続いてはコーディング方法です。

まずは、先ほどの画面作成で追加したログインbuttonをダブルクリックしてください。

するとどうでしょう、コード画面が表示されたのではないでしょうか?

それが行えたら準備はオッケイです。

では、さっそくコーディングを行っていきましょう。

ログインbuttonをダブルクリックした際に生成されたbutton1_Clickイベント内にほぼ処理を書いていきます。

書いてるコードの記述がわからない際は、C# Sqlserver 接続 みたいに検索したら沢山出てくると思いますのでそちらをご覧ください。

下記のコードをご覧ください。

追加するコードは15行目、24~48行目までです。

コーディング説明

15行目から見ていきましょう。

string constr = @"Data Source=データソース名;Initial Catalog=データベース名;User Id=sa;Password=パスワード";

ここでは、DBへの接続をするために必要な情報をconstrという文字列型の変数に格納します。

続いてはbutton1_Clickの中に記述するコードを表示します。

private void button1_Click(object sender, EventArgs e)
{
		DataTable dataTable = new DataTable();

		string sql = "SELECT  *  FROM  Z_ログイン  WHERE  login_id  =" + "'" + textBox1.Text + "'" + "AND  pass   =" + "'" + textBox2.Text + "'";
		using (SqlConnection conn = new SqlConnection(constr))
		{
			using (SqlCommand cmd = new SqlCommand(sql, conn))
			{
			 using (SqlDataAdapter adapter = new SqlDataAdapter(cmd))
				{
					adapter.Fill(dataTable);
					int rowcount = dataTable.Rows.Count;

						if (rowcount == 1)
						{
							Form1 form1 = new Form1();
							form1.Show();
							MessageBox.Show("ログイン成功", "認証結果", MessageBoxButtons.OK, MessageBoxIcon.Information);
						}
						else
						{
							MessageBox.Show("ログイン失敗", "認証結果", MessageBoxButtons.OK, MessageBoxIcon.Warning);
						}
				}
			}
	 }
}

このように記述しておくと、SELECT文でDBに送った値とDBの内容を比較し、入力されたデータが存在すれば

ログイン成功というMessageBoxが表示されます。

データがなかった場合、ログイン失敗というMessageBoxが表示されます。

コメント

タイトルとURLをコピーしました