カテゴリ: ASP.NET 更新日: 2026/01/08

ASP.NET WebFormsでデータベースと連携!初心者でもできる保存と表示の基本

WebFormsでデータベースと連携する方法
WebFormsでデータベースと連携する方法

先生と生徒の会話形式で理解しよう

生徒

「ASP.NET WebFormsで、入力したデータをずっと保存しておくにはどうすればいいですか?」

先生

「それには『データベース』という、情報を保管するための巨大な本棚のような仕組みを使います。」

生徒

「本棚ですか?なんだか難しそうですが、初心者でも連携できるのでしょうか?」

先生

「大丈夫ですよ。WebFormsにはデータベースとのやり取りを助けてくれる便利な道具がたくさんあります。一緒に見ていきましょう!」

1. データベースとは?情報の保管庫を知ろう

1. データベースとは?情報の保管庫を知ろう
1. データベースとは?情報の保管庫を知ろう

ASP.NET WebForms(エーエスピー・ドットネット・ウェブフォーム)でアプリを作るとき、避けて通れないのが「データベース」です。データベースとは、簡単に言うと「整理整頓された情報の集まり」のことです。例えば、スマートフォンの連絡帳や、ネットショッピングの注文履歴なども、すべてデータベースに保存されています。

なぜデータベースが必要なのでしょうか?それは、パソコンの電源を切ったり、ブラウザを閉じたりしても、情報を消さずに残しておくためです。プログラミング未経験の方には、ウェブアプリが「料理人」、データベースが「冷蔵庫」だとイメージすると分かりやすいかもしれません。料理人は、必要な材料(データ)を冷蔵庫から取り出し、調理して、お客さんに提供します。材料がなければ、料理は作れませんよね。

ASP.NETでは、SQL Server(エスキューエル・サーバー)というマイクロソフト社製のデータベースをよく使います。これを使うことで、数万件、数百万件という大量のデータの中から、必要なものだけを瞬時に探し出すことができるようになります。

2. WebFormsとデータベースをつなぐ「接続文字列」

2. WebFormsとデータベースをつなぐ「接続文字列」
2. WebFormsとデータベースをつなぐ「接続文字列」

データベースと連携するために、最初に行うのが「接続」です。これは、プログラムからデータベースに対して「今からアクセスするよ!」と電話をかけるようなものです。この電話番号にあたるのが接続文字列(接続ストリング)です。

接続文字列には、データベースがどこにあるのか、名前は何か、入るためのパスワードは何か、といった重要な情報が書かれています。WebFormsでは、この情報を Web.config という特別な設定ファイルに書き込むのが一般的です。これにより、プログラムのあちこちにパスワードを書かなくて済み、安全に管理できるようになります。

3. SqlDataSourceコントロールで簡単連携

3. SqlDataSourceコントロールで簡単連携
3. SqlDataSourceコントロールで簡単連携

WebFormsのすごいところは、難しいコードを書かなくても、画面上の操作だけでデータベースと連携できる部品があることです。その代表が SqlDataSource(エスキューエル・データソース) コントロールです。

この部品を画面に配置して、マウスでカチカチと設定するだけで、「どのデータベースの、どの表(テーブル)から、どのデータを取ってくるか」を決めることができます。これを専門用語で「データバインド」と呼びます。バインドとは「紐付ける」という意味で、画面の部品とデータベースのデータをガッチリとつなぎ合わせることを指します。


<asp:SqlDataSource ID="SqlDataSource1" runat="server" 
    ConnectionString="Data Source=自分のサーバー;Initial Catalog=MyDatabase;Integrated Security=True" 
    SelectCommand="SELECT * FROM [Users]">
</asp:SqlDataSource>

4. GridViewを使ってデータを表形式で表示する

4. GridViewを使ってデータを表形式で表示する
4. GridViewを使ってデータを表形式で表示する

データベースから取ってきたデータを、画面にきれいに並べるのは大変そうですよね。そこで活躍するのが GridView(グリッドビュー) コントロールです。これを使えば、Excelのような表形式でデータを自動的に表示してくれます。

使い方はとても簡単です。GridViewを画面に置き、先ほどの SqlDataSource と紐付けるだけです。これだけで、データベースの中身が自動的に行と列になって表示されます。プログラミングをしたことがない人でも、マウス操作だけで名簿一覧や商品リストが作れてしまうのです。もちろん、列の色を変えたり、文字の大きさを調整したりといったデザイン変更も自由自在です。


<asp:GridView ID="GridView1" runat="server" DataSourceID="SqlDataSource1" AutoGenerateColumns="True">
</asp:GridView>

実行結果のイメージは以下のようになります。


ID   | 名前       | メールアドレス
-----|------------|------------------
1    | 田中 太郎  | tanaka@example.com
2    | 佐藤 花子  | sato@example.com

5. データを保存する!INSERT(インサート)の基本

5. データを保存する!INSERT(インサート)の基本
5. データを保存する!INSERT(インサート)の基本

表示するだけでなく、新しくデータを追加することも大切です。例えば、ユーザー登録画面で名前を入力して「登録」ボタンを押したときに、データベースに新しい情報を書き込む動作です。この「追加」のことをデータベースの言葉で INSERT(インサート) と呼びます。

プログラムで書く場合は、以下のように「命令文(SQL文)」をデータベースに送ります。難しく感じるかもしれませんが、「この表の、この場所に、この値を入れてね」というメッセージを送っているだけだと考えてください。


protected void btnAdd_Click(object sender, EventArgs e)
{
    // 入力された文字を取得
    string name = txtNewName.Text;

    // データベースへの命令(INSERT文)
    string sql = "INSERT INTO Users (UserName) VALUES ('" + name + "')";

    // ここで実際にデータベースに保存する処理(実行)
    // 実行後は、画面の表示を更新して新しい名前を確認できるようにします
    lblMessage.Text = name + " さんをデータベースに保存しました!";
}

6. SQL文(エスキューエル)とは?データベースへの言葉

6. SQL文(エスキューエル)とは?データベースへの言葉
6. SQL文(エスキューエル)とは?データベースへの言葉

先ほどの説明で「SQL文」という言葉が出てきましたね。これは、データベースとおしゃべりするための専用の言語です。世界共通のルールなので、一度覚えるとどんなシステム開発でも役立ちます。代表的な命令は以下の4つです。

  • SELECT(セレクト): データを取り出す(見る)
  • INSERT(インサート): データを新しく入れる(追加)
  • UPDATE(アップデート): データを書き換える(更新)
  • DELETE(デリート): データを消す(削除)

WebFormsでは、これらの命令を自分で書くこともあれば、ツールが自動で作ってくれることもあります。最初は全部覚えようとしなくて大丈夫です。「データベースにお願いするときは、こういう言葉を使うんだな」という程度に覚えておきましょう。

7. データの安全を守る!パラメータ化クエリ

7. データの安全を守る!パラメータ化クエリ
7. データの安全を守る!パラメータ化クエリ

データベース連携で最も気をつけなければいけないのが「セキュリティ」です。悪い人が、入力欄に特別なプログラム(ウイルスのようなもの)を打ち込んで、データベースを壊そうとすることがあります。これを「SQLインジェクション」と呼びます。

これを防ぐための強力な武器が パラメータ化クエリ です。これは、ユーザーが入力した文字をそのまま命令文にするのではなく、「ここはただの文字ですよ」と安全な形に包んでからデータベースに渡す仕組みです。プログラミング未経験の方は、荷物をそのまま送るのではなく、安全な箱に入れてから送るようなイメージを持ってください。WebFormsを使えば、この安全な仕組みも簡単に取り入れることができます。

8. データベース連携を成功させるコツ

8. データベース連携を成功させるコツ
8. データベース連携を成功させるコツ

最後に、スムーズにデータベース連携を行うためのヒントをお伝えします。一番大切なのは、いきなり大きなものを作ろうとしないことです。まずは「一つの名前を保存する」「保存した名前を表示する」という、一番シンプルなところから始めてみましょう。

エラーが出たときは、「接続文字列が間違っていないか」「データベースに名前がちゃんと登録されているか」を確認してみてください。データベースは正直なので、設定が一つでも違うと動いてくれません。でも、一度つながってデータが画面に出た瞬間の感動は、プログラミングの醍醐味です。一歩ずつ、楽しみながらデータベースと仲良くなっていきましょう!

カテゴリの一覧へ
新着記事
New1
ASP.NET
ASP.NET WebFormsのGridViewでデータ表示を完全マスター!初心者向けガイド
New2
VB.NET
VB.NETの例外処理とパフォーマンスの関係を初心者向けに完全解説
New3
ASP.NET
ASP.NET WebFormsでデータベースと連携!初心者でもできる保存と表示の基本
New4
VB.NET
VB.NETでStackTraceを利用してエラー箇所を特定する方法を完全解説!初心者向け例外処理入門
人気記事
No.1
Java&Spring記事人気No1
VB.NET
VB.NETのEnum(列挙型)の使い方を完全解説!初心者にも分かる定義と活用方法
No.2
Java&Spring記事人気No2
VB.NET
VB.NETのIf文の使い方と条件分岐を完全ガイド!初心者でもわかる基本構文と実例
No.3
Java&Spring記事人気No3
VB.NET
VB.NETのBoolean型(True/False)の使い方と条件分岐での活用方法を徹底解説!初心者でも理解できる基本
No.4
Java&Spring記事人気No4
VB.NET
VB.NETの配列(Array)の作り方と基本操作を徹底解説!初心者でもわかる入門ガイド
No.5
Java&Spring記事人気No5
VB.NET
VB.NETプログラムの実行方法まとめ!Visual Studio・コマンドラインの使い方
No.6
Java&Spring記事人気No6
VB.NET
VB.NETの例外処理を完全ガイド!初心者でもわかるSystem.Exceptionの仕組み
No.7
Java&Spring記事人気No7
VB.NET
VB.NETのコンストラクタと初期化処理の書き方を初心者向けに解説
No.8
Java&Spring記事人気No8
VB.NET
VB.NETでの変数名の付け方とは?わかりやすくエラーの起きにくい命名規則を紹介