Heim >Datenbank >MySQL-Tutorial >Wie rufe ich mithilfe parametrisierter Abfragen Daten aus einer SQL Server-Datenbank in C# ab?

Wie rufe ich mithilfe parametrisierter Abfragen Daten aus einer SQL Server-Datenbank in C# ab?

Patricia Arquette
Patricia ArquetteOriginal
2024-12-29 16:12:11889Durchsuche

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

Abrufen von Daten aus einer SQL Server-Datenbank in C#

Um Daten aus einer SQL Server-Datenbank in C# abzurufen, können Sie die SqlConnection verwenden. SqlCommand- und SqlDataReader-Objekte. So können Sie dies erreichen:

  1. Stellen Sie eine Verbindung zur Datenbank her:

    SqlConnection con = new SqlConnection("Data Source=.
    Initial Catalog=domain;
    Integrated Security=True");
    con.Open();
  2. Erstellen Sie einen SqlCommand Objekt:

    SqlCommand cmd = new SqlCommand("Select * from tablename", con);
  3. Führen Sie den SqlCommand aus:

    using (SqlDataReader reader = cmd.ExecuteReader())
    {
      // Iterate over the results and retrieve values
      while (reader.Read())
      {
     // Get values from the current row
      }
    }

Allerdings ist der Code Sie Die in Ihrer Frage angegebene Antwort funktioniert nicht, da Sie Ihre SQL-Abfrage nicht parametrisieren. Dadurch wird Ihr Code anfällig für SQL-Injection-Angriffe. Um dies zu beheben, verwenden Sie parametrisierte Abfragen:

cmd.CommandText = "select * from tablename where firstname = @firstName";
cmd.Parameters.AddWithValue("@firstName", textBox1.Text);

Hier ist ein Beispiel für eine vollständigere Methode, die Daten aus einer Datenbank abruft und benutzerdefinierte Objekte auffüllt:

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
}

Um dies zu verwenden -Methode können Sie sie mit einem firstName-Parameter aufrufen und Ihre Textfelder mit den Eigenschaften des zurückgegebenen Person-Objekts füllen.

Das obige ist der detaillierte Inhalt vonWie rufe ich mithilfe parametrisierter Abfragen Daten aus einer SQL Server-Datenbank in C# ab?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn