挿入、更新、削除:ASP.NETデータベース接続

⚡ スマートサマリー

ASP.NET は SQL Server などのデータベースに接続します。 Oracle ADO.NET を介して、SqlConnection、SqlCommand、SqlDataReader、および SqlDataAdapter クラスを使用して接続を開き、保存されているレコードに対して選択、挿入、更新、および削除操作を実行します。

  • 🔌 接続: SqlConnectionは、データソース、カタログ、および認証情報を含む接続文字列を使用して、データベースへのリンクを開きます。
  • ???? 記録を読む: SqlCommand と ExecuteReader、および SqlDataReader は、SELECT ステートメントによって返された行をループ処理します。
  • 挿入と更新: ExecuteNonQuery を指定した SqlDataAdapter は、INSERT および UPDATE ステートメントを実行して保存されているデータを変更します。
  • 🗑️ 削除: ExecuteNonQuery を介して実行される DELETE ステートメントは、テーブルから特定の行を削除します。
  • 🔗 コントロールのバインド: データソースはリストをバインドしますBoxドロップダウンリストや同様のコントロールをテーブルフィールドに直接配置します。
  • 🔐 安全を確保: パラメータ化されたクエリとすべての接続を閉じることで、データベースコードの安全性と信頼性が維持されます。

ASP.NET でデータベースの挿入、更新、削除を行う Operaン

データベースからデータにアクセスすることは、あらゆるプログラミング言語にとって重要な要素です。どのプログラミング言語も、データベースを操作できる機能を備えている必要があります。

ASP.NET は、さまざまな種類のデータベースと連携できます。最も一般的なデータベースである次のようなデータベースと連携できます。 Oracle (NAIST) と Microsoft SQL サーバー。

また、次のような新しい形式のデータベースを操作する機能もあります。 MongoDB (NAIST) と MySQL.

データベース接続の基礎

ASP.NETは、ほとんどのデータベースと連携する機能を備えています。最も一般的なデータベースは、 Oracle (NAIST) と Microsoft SQL Server。ただし、どのデータベースでも、その操作の背後にあるロジックはほとんど同じです。

この例では、 Microsoft SQL Server 私たちのデータベースとして。学習目的で、ダウンロードして使用できます。 Microsoft SQL Server Express Edition。これは、によって提供される無料のデータベースソフトウェアです。 Microsoft.

データベースを扱う際に、以下の概念はすべてのデータベースに共通しています。

  1. 接続 – データベース内のデータを操作するには、最初の明らかなステップは接続です。 データベースへの接続は通常、以下のパラメータで構成されます。
    1. データベース名またはデータソース – 最初の重要なパラメータはデータベース名です。 各接続は、一度に XNUMX つのデータベースのみを操作できます。
    2. Credentials 次に重要なのは、ユーザー名とパスワードです。これらはデータベースへの接続を確立するために使用されます。
    3. オプションのパラメーター – .NET がデータベースへの接続をどのように処理するかについて、オプションのパラメーターを指定できます。たとえば、接続をアクティブな状態に保つ時間を指定するパラメーターを指定できます。
  2. データベースからのデータの選択 接続が確立されると、データベースからデータが取得されます。ASP.NETは、データベースに対してSQL SELECTコマンドを実行する機能を備えています。SQLステートメントを使用すると、データベース内の特定のテーブルからデータを取得できます。
  3. データベースへのデータの挿入 ASP.NETは、データベースにレコードを挿入するために使用されます。データベースに挿入する必要のある各行の値は、ASP.NETで指定されます。
  4. データベースへのデータの更新 ASP.NET は、データベース内の既存レコードを更新するためにも使用できます。データベースに更新する必要のある各行に対して、ASP.NET で新しい値を指定できます。
  5. データベースからのデータの削除 ASP.NET は、データベースからレコードを削除するためにも使用できます。このコードは、データベースから特定の行を削除するように記述されています。

各操作の理論的な部分を見てきたので、次にASP.NETでデータベース操作を実行する方法を見ていきましょう。

ASP.NETデータベース接続

それでは、データベースへの接続を確立するために必要なコードを見ていきましょう。この例では、Demodbという名前のデータベースに接続します。データベースへの接続に使用する認証情報は以下のとおりです。

  • ユーザー名 – sa
  • パスワード – デモ123

それでは、前のセクションで作成した既存のWebアプリケーションを使って作業を進めていきましょう。

  • データベース操作の追加を開始します。
  • この例では、シンプルな接続を確立する方法を見ていきます。この接続はDemodbデータベースに対して行われます。これは、ページが最初に起動されたときに実行されます。
  • 接続が確立されると、メッセージがユーザーに送信されます。 接続が確立されたことを示すメッセージが表示されます。

これを実現するために、以下の手順に従ってください。

ステップ1) まず、Webアプリケーション(DemoApplication)がVisual Studioで開いていることを確認してください。 Double-demo.aspx.cs ファイルをクリックして、データベース接続用のコードを入力してください。

ASP.NETデータベース接続

ステップ2) データベースへの接続を確立するために使用される以下のコードを追加します。

ASP.NETデータベース接続

namespace DemoApplication
{
    public partial class Demo : System.Web.UI.Page
    {
        protected void Page_Load(object sender, EventArgs e)
        {
            string connectionString;
            SqlConnection cnn;

            connectionString = @"Data Source=WIN-50GP30FGO75;Initial Catalog=Demodb;User ID=sa;Password=demo123";

            cnn = new SqlConnection(connectionString);

            cnn.Open();

            Response.Write("Connection Made");
            cnn.Close();
        }
    }
}

Code 説明:-

  1. 最初のステップは変数を作成することです。これらの変数は、接続文字列とSQL Serverデータベースへの接続を作成するために使用されます。
  2. 次のステップは、実際に接続文字列を作成することです。接続文字列は以下の部分で構成されます。
    • データソース – これは、データベースが格納されているサーバーの名前です。この例では、WIN-50GP30FGO75 というマシンに格納されています。
    • 初期カタログは、データベースの名前を指定するために使用されます。
    • ユーザーIDとパスワードは、データベースに接続するために必要な認証情報です。
  3. 次に、接続文字列を変数cnnに代入します。
    • 変数 cnn の型は SqlConnection です。 これはデータベースへの接続を確立するために使用されます。
    • SqlConnectionは、データベースへの接続を作成するために使用されるASP.NETのクラスです。
    • このクラスを使用するには、まずこのクラスのオブジェクトを作成する必要があります。そこで、ここではSqlConnection型のcnnという変数を作成します。
  4. 次に、cnn変数のOpenメソッドを使用してデータベースへの接続を開きます。接続が確立されたことをユーザーに知らせるメッセージを表示します。これはResponse.Writeメソッドを使用して行います。その後、データベースへの接続を閉じます。

上記のコードが設定され、プロジェクトが実行される場合 Visual Studioのすると、以下の出力が表示されます。フォームが表示されたら、「接続」ボタンをクリックしてください。

出力:-

ASP.NETデータベース接続

ブラウザに表示される出力メッセージには、データベースへの接続が行われたことが示されます。

SqlDataReader を使用した ASP.NET 読み取りデータベース

ASP.NETを使用してアクセスされるデータを示すために、データベースに以下のアーティファクトが存在すると仮定します。

  1. demotbという名前のテーブル。このテーブルには、さまざまなチュートリアルのIDと名前が格納されます。
  2. テーブルには2つの列があり、1つはTutorialID、もう1つはTutorialNameという名前になります。
  3. 現時点では、以下に示すように、テーブルには XNUMX つの行が表示されます。
チュートリアルID チュートリアル名
1 C#
2 ASP.Net

このデータを取得してウェブページ上に表示できるように、コードを変更しましょう。入力するコードは、データ接続モジュール用に記述したコードの続きとなることに注意してください。

ステップ1) コードを2つの部分に分けてみましょう。

  • まず最初に、SELECT文を作成します。これはデータベースからデータを読み込むために使用されます。
  • 次に、データベースに対してSELECT文を実行します。これにより、該当するテーブルのすべての行が取得されます。

SqlDataReader を使用した ASP.NET 読み取りデータベース

Code 説明:-

  1. 最初のステップは、以下の変数を作成することです。
    • SqlCommand – SqlCommandはC#で定義されているクラスです。このクラスは、データベースへの読み書き操作を実行するために使用されます。
    • DataReader オブジェクトは、SQL クエリで指定されたすべてのデータを取得するために使用されます。 次に、データ リーダーを使用してテーブルのすべての行を XNUMX つずつ読み取ることができます。
    • 次に、2つの文字列変数を定義します。1つはSQLコマンド文字列を格納するsql変数、もう1つはテーブルのすべての値を格納するOutput変数です。
  2. 次のステップは、実際にSQL文を定義することです。今回の場合は、「Select TutorialID, TutorialName from demotb」となります。これにより、demotbテーブルからすべての行が取得されます。
  3. 次に、データベースに対して SQL ステートメントを実行するために使用されるコマンド オブジェクトを作成します。 SQL コマンドでは、接続オブジェクトと SQL 文字列を渡す必要があります。
  4. 次に、データリーダーコマンドを実行して、demotbテーブルからすべての行を取得します。
  5. テーブルのすべての行が揃ったので、次に各行に1つずつアクセスする仕組みが必要です。
    • このため、while文を使用してデータリーダーから行を1つずつアクセスします。
    • 次に、GetValue メソッドを使用して TutorialID と TutorialName の値を取得します。

ステップ2) 最終ステップでは、出力結果をユーザーに表示します。その後、データベース操作に関連するすべてのオブジェクトを閉じます。

SqlDataReader を使用した ASP.NET 読み取りデータベース

namespace DemoApplication
{
    public partial class Demo : System.Web.UI.Page
    {
        protected void Page_Load(object sender, EventArgs e)
        {
            SqlCommand command;
            SqlDataReader dataReader;
            String sql, Output = " ";
            sql = "Select TutorialID,TutorialName from demotb";

            command = new SqlCommand(sql, cnn);

            dataReader = command.ExecuteReader();
            while (dataReader.Read())
            {
                Output = Output + dataReader.GetValue(0) + "-" + dataReader.GetValue(1) + "</br>";
            }

            Response.Write(Output);
            dataReader.Close();
            command.Dispose();
            cnn.Close();
        }
    }
}

Code 説明:-

  1. コードの続きとして、出力変数の値を表示します。これは、Response.Write メソッドを使用して行います。
  2. 最後に、データベース操作に関連するすべてのオブジェクトを閉じます。これは常に良い習慣であることを覚えておいてください。

上記のコードを設定し、Visual Studio を使用してプロジェクトを実行すると、以下の出力が得られます。

出力:-

SqlDataReader を使用した ASP.NET 読み取りデータベース

出力から、プログラムがデータベースから値を取得できたことがはっきりとわかります。その後、データはブラウザでユーザーに表示されます。

InsertCommandを使用してデータベースレコードを挿入する

データへのアクセスと同様に、ASP.NETにはデータベースへのレコード挿入機能もあります。レコード挿入に使用するテーブル構造を例にとってみましょう。

チュートリアルID チュートリアル名
1 C#
2 ASP.Net

フォームのコードを変更して、次の行をテーブルに挿入できるようにしましょう。

チュートリアルID チュートリアル名
3 VB.Net

ステップ1) まず最初のステップとして、以下のコードをプログラムに追加しましょう。下記のコードスニペットは、データベースにレコードを挿入するために使用されます。

InsertCommandを使用してデータベースレコードを挿入する

namespace DemoApplication
{
    public partial class Demo : System.Web.UI.Page
    {
        protected void Page_Load(object sender, EventArgs e)
        {
            SqlCommand command;
            SqlDataAdapter adapter = new SqlDataAdapter();
            String sql = "";

            sql = "Insert into demotb(TutorialID,TutorialName) values(3,'VB.Net')";

            command = new SqlCommand(sql, cnn);
            adapter.InsertCommand = new SqlCommand(sql, cnn);
            adapter.InsertCommand.ExecuteNonQuery();

            command.Dispose();
            cnn.Close();
        }
    }
}

Code 説明:-

  1. 最初のステップは、以下の変数を作成することです。
    • SqlCommand – このデータ型は、データベースに対してSQL操作を実行するオブジェクトを定義するために使用されます。このオブジェクトには、SQL Serverデータベースに対して実行されるSQLコマンドが格納されます。
    • DataAdapterオブジェクトは、挿入、削除、更新といったSQLコマンドを実行するために使用されます。
    • 次に、SQLコマンド文字列を格納するための文字列変数(sql)を定義します。
  2. 次のステップは、実際にSQL文を定義することです。この例では、INSERT文を発行します。これにより、TutorialID=3、TutorialName=VB.Netのレコードが挿入されます。
  3. 次に、データベースに対して SQL ステートメントを実行するために使用されるコマンド オブジェクトを作成します。 SQL コマンドでは、接続オブジェクトと SQL 文字列を渡す必要があります。
  4. データアダプタコマンドでは、次のようになります。
    • 挿入 SQL コマンドをアダプターに関連付けます。
    • 次に、ExecuteNonQuery メソッドを呼び出します。これは、データベースに対して挿入ステートメントを実行するために使用されます。
    • ExecuteNonQuery メソッドは、 C# データベースに対して任意の DML ステートメント (挿入、削除、更新操作) を発行します。
  5. 最後に、データベース操作に関連するすべてのオブジェクトを閉じます。これは常に良い習慣であることを覚えておいてください。

ステップ2) 次に、データアクセスセクションで使用したコードと同じコードを追加しましょう。これは、ブラウザに最新のテーブルデータを表示するためのものです。そのためには、以下のコードをdemo.aspx.csファイルに追加します。

InsertCommandを使用してデータベースレコードを挿入する

namespace DemoApplication
{
    public partial class Demo : System.Web.UI.Page
    {
        protected void Page_Load(object sender, EventArgs e)
        {
            SqlCommand command;
            SqlDataReader dataReader;
            String sql, Output = " ";
            sql = "Select TutorialID,TutorialName from demotb";

            command = new SqlCommand(sql, cnn);

            dataReader = command.ExecuteReader();
            while (dataReader.Read())
            {
                Output = Output + dataReader.GetValue(0) + "-" + dataReader.GetValue(1) + "</br>";
            }

            Response.Write(Output);
            dataReader.Close();
            command.Dispose();
            cnn.Close();
        }
    }
}

上記のコードを設定し、Visual Studioでプロジェクトを実行すると、以下の出力が得られます。

出力:-

InsertCommandを使用してデータベースレコードを挿入する

ブラウザウィンドウには、データベースに正常に行が挿入されたことが表示されます。

UpdateCommand を使用してデータベース レコードを更新する

ASP.NETには、データベース内の既存のレコードを更新する機能があります。ここでは、レコードを挿入する例で使用したのと同じテーブル構造を使ってみましょう。

チュートリアルID チュートリアル名
1 C#
2 ASP.Net
3 VB.Net

フォームのコードを変更して、次の行を更新できるようにしましょう。以前の行の値は、TutorialIDが3、TutorialNameがVB.Netでしたが、これを「VB.Net Complete」に更新します。TutorialIDの行の値は変更しません。

古い行

チュートリアルID チュートリアル名
3 VB.Net

新しい行

チュートリアルID チュートリアル名
3 VB.Net 完全版

ステップ1) まず最初のステップとして、以下のコードをプログラムに追加しましょう。下記のコードスニペットは、データベース内の既存のレコードを更新するために使用されます。

UpdateCommand を使用してデータベース レコードを更新する

namespace DemoApplication
{
    public partial class Demo : System.Web.UI.Page
    {
        protected void Page_Load(object sender, EventArgs e)
        {
            SqlCommand command;
            SqlDataAdapter adapter = new SqlDataAdapter();
            String sql = "";

            sql = "Update demotb set TutorialName='VB.Net Complete' where TutorialID=3";

            command = new SqlCommand(sql, cnn);
            adapter.InsertCommand = new SqlCommand(sql, cnn);
            adapter.InsertCommand.ExecuteNonQuery();

            command.Dispose();
            cnn.Close();
        }
    }
}

Code 説明:-

  1. 最初のステップは、以下の変数を作成することです。
    • SqlCommand – このデータ型は、データベースに対してSQL操作を実行するオブジェクトを定義するために使用されます。このオブジェクトには、SQL Serverデータベースに対して実行されるSQLコマンドが格納されます。
    • DataAdapterオブジェクトは、挿入、削除、更新といったSQLコマンドを実行するために使用されます。
    • 次に、SQLコマンド文字列を格納するための文字列変数(sql)を定義します。
  2. 次のステップは、実際にSQL文を定義することです。この例では、更新文を発行します。これにより、TutorialNameが「VB.Net Complete」に更新されます。TutorialIDは変更されず、値は3になります。
  3. 次に、コマンドオブジェクトを作成します。これは、データベースに対してSQL文を実行するために使用されます。SQLコマンドには、接続オブジェクトとSQL文字列を渡します。
  4. データアダプタコマンドでは、SQLコマンドをアダプタに関連付けます。次に、ExecuteNonQueryメソッドを発行します。これは、データベースに対して更新ステートメントを実行するために使用されます。
  5. 最後に、データベース操作に関連するすべてのオブジェクトを閉じます。これは常に良い習慣であることを覚えておいてください。

ステップ2) 次に、データアクセスセクションと同じコードを追加しましょう。これは、ブラウザに最新のテーブルデータを表示するためのものです。そのためには、以下のコードを追加します。

UpdateCommand を使用してデータベース レコードを更新する

namespace DemoApplication
{
    public partial class Demo : System.Web.UI.Page
    {
        protected void Page_Load(object sender, EventArgs e)
        {
            SqlCommand command;
            SqlDataReader dataReader;
            String sql, Output = " ";
            sql = "Select TutorialID,TutorialName from demotb";

            command = new SqlCommand(sql, cnn);

            dataReader = command.ExecuteReader();
            while (dataReader.Read())
            {
                Output = Output + dataReader.GetValue(0) + "-" + dataReader.GetValue(1) + "</br>";
            }

            Response.Write(Output);
            dataReader.Close();
            command.Dispose();
            cnn.Close();
        }
    }
}

上記のコードを設定し、Visual Studio を使用してプロジェクトを実行すると、以下の出力が得られます。

出力:-

UpdateCommand を使用してデータベース レコードを更新する

ブラウザウィンドウには、データベース内の行が正常に更新されたことが表示されます。

DeleteCommandを使用してデータベースレコードを削除する

ASP.NET では、データベースから既存のレコードを削除できます。レコードを削除する例として、上記のテーブル構造と同じものを使用してみましょう。

チュートリアルID チュートリアル名
1 C#
2 ASP.Net
3 VB.Net 完全版

フォームのコードを変更して、次の行を削除できるようにしましょう。

チュートリアルID チュートリアル名
3 VB.Net 完全版

ステップ1) まず最初のステップとして、以下のコードをプログラムに追加しましょう。以下のコードスニペットは、データベース内の既存のレコードを削除するために使用されます。

DeleteCommandを使用してデータベースレコードを削除する

namespace DemoApplication
{
    public partial class Demo : System.Web.UI.Page
    {
        protected void Page_Load(object sender, EventArgs e)
        {
            SqlCommand command;
            SqlDataAdapter adapter = new SqlDataAdapter();
            String sql = "";

            sql = "Delete demotb where TutorialID=3";

            command = new SqlCommand(sql, cnn);
            adapter.DeleteCommand = new SqlCommand(sql, cnn);
            adapter.DeleteCommand.ExecuteNonQuery();

            command.Dispose();
            cnn.Close();
        }
    }
}

Code 説明:-

  1. このコードの主な違いは、削除SQL文を発行している点です。削除文は、demotbテーブル内でTutorialIDの値が3である行を削除するために使用されます。
  2. データアダプタコマンドでは、削除SQLコマンドをアダプタに関連付けます。また、データベースに対して削除ステートメントを実行するために使用されるExecuteNonQueryメソッドも発行します。

ステップ2) 次に、データアクセスセクションと同じコードを追加しましょう。これは、ブラウザに最新のテーブルデータを表示するためのものです。そのためには、以下のコードを追加します。

DeleteCommandを使用してデータベースレコードを削除する

namespace DemoApplication
{
    public partial class Demo : System.Web.UI.Page
    {
        protected void Page_Load(object sender, EventArgs e)
        {
            SqlCommand command;
            SqlDataReader dataReader;
            String sql, Output = " ";
            sql = "Select TutorialID,TutorialName from demotb";

            command = new SqlCommand(sql, cnn);

            dataReader = command.ExecuteReader();
            while (dataReader.Read())
            {
                Output = Output + dataReader.GetValue(0) + "-" + dataReader.GetValue(1) + "</br>";
            }

            Response.Write(Output);
            dataReader.Close();
            command.Dispose();
            cnn.Close();
        }
    }
}

上記のコードを設定し、Visual Studio を使用してプロジェクトを実行すると、以下の出力が得られます。

出力:-

DeleteCommandを使用してデータベースレコードを削除する

ASP.NET コントロールをデータに接続する

ASP.NETのSqlCommandやSqlDataReaderといったコマンドを使ってデータベースからデータを取得する方法を見てきました。また、テーブルの各行を読み取ってWebページに表示する方法も見てきました。

テーブル内のさまざまなフィールドにコントロールを直接リンクする方法があります。現時点では、以下のコントロールのみがASP.NETアプリケーションにバインドできます。

  1. チェックBoxリスト
  2. ラジオボタンリスト
  3. ドロップダウンリスト
  4. リストBox

それでは、ASP.NETでコントロールバインディングを使用する方法の例を見てみましょう。ここではリストを使用します。Box 例として、データベースに以下のデータがあるとしましょう。

チュートリアルID チュートリアル名
1 C#
2 ASP.Net
3 VB.Net 完全版

リストを使ってみましょうBox 制御を行い、demotb テーブルからデータを自動的に取得する方法を確認してみましょう。そのためには、以下の手順に従ってください。

ステップ1) 基本的なWebフォームを作成します。Visual Studioのツールボックスから、ラベルとリストの2つのコンポーネントをドラッグアンドドロップします。Boxはい。次に、以下の手順を実行します。

  1. 最初のラベルのテキスト値をTutorialIDに設定してください。
  2. 2番目のラベルのテキスト値を「TutorialName」に設定してください。

上記の手順を実行すると、フォームは以下のようになります。

ASP.NET コントロールをデータに接続する

ステップ2) 次のステップは、各リストの接続を開始することです。Box データベーステーブルへ。

  1. まず、リストをクリックしてください。Box TutorialIDの場合。これにより、コントロールの横に別のダイアログボックスが表示されます。
  2. ダイアログボックスから、「データソースの選択」オプションをクリックします。

ASP.NET コントロールをデータに接続する

ステップ3) するとダイアログボックスが表示されます。このダイアログボックスを使用して、新しいデータソースを作成できます。データソースはデータベースへの接続を表します。「新しいデータソース」オプションを選択してください。

ASP.NET コントロールをデータに接続する

ステップ4) 最後のステップで新しいデータ ソースを選択すると、次の画面が表示されます。 ここで、作成するデータ ソースの種類について言及する必要があります。

  1. SQL Server データベースを操作するには、データベース オプションを選択します。
  2. 次に、データ ソースに名前を付ける必要があります。 ここでは、DemoDataSource という名前を付けています。
  3. 最後に、「OK」ボタンをクリックして次の画面に進みます。

ASP.NET コントロールをデータに接続する

ステップ5) 次に、データベースへの接続を作成する必要があります。次の画面で、「新しい接続」ボタンをクリックしてください。

ASP.NET コントロールをデータに接続する

ステップ6) 次に、データベースに接続するための資格情報を追加する必要があります。

  1. SQL Serverが稼働しているサーバー名を選択してください。
  2. データベースに接続するには、ユーザーIDとパスワードを入力してください。
  3. データベースとしてdemotbを選択してください。
  4. [OK]ボタンをクリックします。

ASP.NET コントロールをデータに接続する

ステップ7) 次の画面では、demotbテーブルが表示されます。デフォルト設定を受け入れるには、「次へ」ボタンをクリックしてください。

ASP.NET コントロールをデータに接続する

ステップ8) 次の画面で接続をテストできるようになります。

  1. 「クエリテスト」ボタンをクリックして、テーブルから値を取得できるかどうかを確認してください。
  2. 「完了」ボタンをクリックしてウィザードを完了します。

ASP.NET コントロールをデータに接続する

ステップ9) 最終画面で「OK」ボタンをクリックしてください。これでTutorialIDリストがバインドされます。Box demotb テーブルの TutorialID フィールド名に置き換えます。

ASP.NET コントロールをデータに接続する

ステップ10) それでは、TutorialNameリストをバインドしましょう。Box TutorialNameフィールドに入力します。

  1. まず、チュートリアル名リストをクリックします。Box.
  2. 次に、リストの横に表示されるダイアログボックスからデータソースを選択します。Box.

ASP.NET コントロールをデータに接続する

ステップ11) 次の画面でデータ ソースを選択すると、DemoDataSource がすでに表示されています。

  1. DemoDataSourceを選択してください。
  2. [OK]ボタンをクリックします。

ASP.NET コントロールをデータに接続する

上記のすべての手順が示されているように実行されると、以下の出力が得られます。

出力:-

ASP.NET コントロールをデータに接続する

出力から、リストがBoxes はそれぞれ TutorialID と TutorialName を表示します。

よくあるご質問

はい。GitHub CopilotなどのAIアシスタントは、ADO.NETの挿入、更新、削除メソッドを生成し、各行の説明を提供できます。ただし、AIはパラメータ化や接続処理の詳細を見落とす可能性があるため、生成されたSQLを必ず確認し、テストしてください。

はい。ADO.NETの例外やSQLエラーをAIツールに貼り付けると、平易な言葉で原因と解決策が表示されます。本番コードに適用する前に、スキーマと照らし合わせて提案内容を確認してください。

パラメータ化クエリを使用してください。入力値をSQL文字列に連結する代わりに、SqlParameterオブジェクトを使用して値を追加します。これにより、データとコマンドが分離され、インジェクション攻撃が防止されるとともに、クエリプランの再利用性も向上します。

ExecuteNonQuery は INSERT、UPDATE、DELETE を実行し、影響を受けた行を返します。ExecuteReader は SELECT 結果に対して前方のみの SqlDataReader を返します。ExecuteScalar は最初の行と列から、カウントなどの単一の値を返します。

SqlDataReader は一度に 1 行ずつデータをストリーミングし、接続を開いたままにする必要があるため、読み取り速度が速い。SqlDataAdapter は DataSet または DataTable をメモリ上に格納し、挿入、更新、削除コマンドも実行する。

認証情報はページに直接記述するのではなく、web.configファイルのconnectionStringsセクションに保存してください。こうすることで設定が一元管理され、認証情報がソースコードに含まれなくなり、アプリケーションを再コンパイルすることなく変更できます。

ADO.NETとSqlCommandは、シンプルなページに対してきめ細かな制御と高速な処理を実現します。一方、Entity Frameworkはテーブルをオブジェクトにマッピングし、大規模アプリケーションにおける定型コードを削減します。多くのチームは、パフォーマンスと複雑さのニーズに応じて、両方を組み合わせて使用​​しています。

開いている接続は、サーバー上でプールされたリソースを保持します。close または Dispose メソッドを、理想的には using ブロック内で呼び出すことで、接続をプールに戻し、リソースのリークを防ぎ、負荷がかかった状態でもアプリケーションの応答性を維持できます。