SQL-Abfragen direkt in C# ausführen
Problem:
Aktuelle Systeme verbieten die Ausführung von Batchdateien, die SQLCMD.exe nutzen, erfordern einen alternativen Ansatz C#.
Lösung:
Verwendung der SqlCommand-Klasse:
Um SQL-Abfragen direkt aus C# auszuführen, können Sie Folgendes verwenden: die SqlCommand-Klasse. Mit dieser Klasse können Sie parametrisierte SQL-Befehle erstellen und ausführen und so Injektionsangriffe vermeiden.
Beispielcode:
Der folgende Beispielcode zeigt, wie SqlCommand mit parametrisiertem SQL verwendet wird :
string queryString = "SELECT tPatCulIntPatIDPk, tPatSFirstname, tPatSName, tPatDBirthday FROM [dbo].[TPatientRaw] WHERE tPatSName = @tPatSName"; string connectionString = "Server=.\PDATA_SQLEXPRESS;Database=;User Id=sa;Password=2BeChanged!;"; using (SqlConnection connection = new SqlConnection(connectionString)) { SqlCommand command = new SqlCommand(queryString, connection); command.Parameters.AddWithValue("@tPatSName", "Your-Parm-Value"); connection.Open(); SqlDataReader reader = command.ExecuteReader(); try { while (reader.Read()) { Console.WriteLine(String.Format("{0}, {1}", reader["tPatCulIntPatIDPk"], reader["tPatSFirstname"]));// etc } } finally { reader.Close(); } }
Dieser Code stellt eine Verbindung zur angegebenen SQL Server-Instanz her und öffnet eine Verbindung. Anschließend erstellt es mithilfe der parametrisierten SQL-Abfrage ein SqlCommand-Objekt und fügt dem Befehl den relevanten Parameter hinzu. Die Verbindung wird geöffnet, die Abfrage ausgeführt und die Ergebnisse werden mithilfe eines SqlDataReader-Objekts abgerufen.
Bitte beachten Sie, dass die Fehlerbehandlung und das Schließen der Verbindung in praktischen Anwendungen implementiert werden sollten.
Das obige ist der detaillierte Inhalt vonWie kann ich SQL-Abfragen direkt in C# ausführen, ohne SQLCMD.exe zu verwenden?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!