ホームページ > データベース > mysql チュートリアル > パラメーター化されたクエリを使用して C# で SQL Server データベースからデータを取得する方法

パラメーター化されたクエリを使用して C# で SQL Server データベースからデータを取得する方法

Patricia Arquette
リリース: 2024-12-29 16:12:11
オリジナル
889 人が閲覧しました

How to Retrieve Data from a SQL Server Database in C# Using Parameterized Queries?

C# で SQL Server データベースからデータを取得する

C# で SQL Server データベースからデータを取得するには、SqlConnection を使用できます。 SqlCommand オブジェクトと SqlDataReader オブジェクト。これを実現する方法は次のとおりです:

  1. データベースへの接続を確立します:

    SqlConnection con = new SqlConnection("Data Source=.
    Initial Catalog=domain;
    Integrated Security=True");
    con.Open();
    ログイン後にコピー
  2. SQLコマンドを作成するオブジェクト:

    SqlCommand cmd = new SqlCommand("Select * from tablename", con);
    ログイン後にコピー
  3. Sql コマンドを実行:

    using (SqlDataReader reader = cmd.ExecuteReader())
    {
      // Iterate over the results and retrieve values
      while (reader.Read())
      {
     // Get values from the current row
      }
    }
    ログイン後にコピー

ただし、コードはSQLクエリをパラメータ化していないため、質問に記載されている機能は機能しません。これにより、コードが SQL インジェクション攻撃に対して脆弱になります。これを修正するには、パラメータ化されたクエリを使用します。

cmd.CommandText = "select * from tablename where firstname = @firstName";
cmd.Parameters.AddWithValue("@firstName", textBox1.Text);
ログイン後にコピー

データベースからデータを取得し、ユーザー定義のオブジェクトを設定する、より完全なメソッドの例を次に示します。

public Person GetPerson(string firstName)
{
  var con = ConfigurationManager.ConnectionStrings["Yourconnection"].ToString();

  using (SqlConnection myConnection = new SqlConnection(con))
  {
    string oString = "Select * from Employees where FirstName=@fName";
    SqlCommand oCmd = new SqlCommand(oString, myConnection);
    oCmd.Parameters.AddWithValue("@Fname", fName);
    myConnection.Open();

    using (SqlDataReader oReader = oCmd.ExecuteReader())
    {
      while (oReader.Read())
      {
        Person matchingPerson = new Person
        {
          firstName = oReader["FirstName"].ToString(),
          lastName = oReader["LastName"].ToString(),
        };

        return matchingPerson;
      }
    }
  }

  return null; // If no person found
}
ログイン後にコピー

これを使用するにはメソッドを使用する場合は、firstName パラメーターを使用してこのメ​​ソッドを呼び出し、返された Person オブジェクトのプロパティをテキストボックスに入力できます。

以上がパラメーター化されたクエリを使用して C# で SQL Server データベースからデータを取得する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
著者別の最新記事
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート