Ich habe dieses Problem: Ich muss Raw SQL von meiner .NET Core App ausführen. Also ich habe diesen CodeRaw SQL in .NET Core
var sqlConnection1 = new SqlConnection("Server=(localdb)\\mssqllocaldb;Database=MyDB;Trusted_Connection=True;MultipleActiveResultSets=true");
var cmd = new SqlCommand
{
CommandText = "SELECT * FROM dbo.Candidates WHERE id = " + model.CandidateId,
CommandType = CommandType.Text,
Connection = sqlConnection1
};
sqlConnection1.Open();
var wantedRow = cmd.ExecuteReader();
sqlConnection1.Close();
Ich kann nicht die Daten in wantedRow zugreifen ... (Wenn ich Entity Framework verwenden diese Abfrage funktioniert, aber ich kann nicht Entity Framework verwenden). Ist es in .NET Core möglich?
Welchen Fehler erhalten Sie? –
Ich erhalte keinen Fehler, ich erhalte SqlDataReader-Objekt und willedRow.GetString() gibt mir ungültigen Versuch zu lesen, wenn keine Daten vorhanden sind. – MacakM
@MacakM Dieser Code ist anfällig für SQL Injection-Angriffe, Sie müssen Ihre Abfrage parametrisieren. Sie behandeln Ihre [IDisposable] (https://msdn.microsoft.com/en-us/library/system.idisposable (v = vs.110) .aspx) Objekte nicht korrekt. Diese müssen in eine using-Anweisung eingebettet werden. – mason