SQL Abfrage mit einem String
-
Ich steh grad auf dem Schlauch.
public int GetCategoryID(String Name) { String Selectstr = "SELECT KID FROM [Category] "; Selectstr += "WHERE (Name LIKE @Name)"; SqlConnection con = new SqlConnection(ConnectionString); SqlCommand cmd = new SqlCommand(Selectstr); cmd.Parameters.AddWithValue("@Name", Name); SqlDataAdapter Adapter = new SqlDataAdapter(cmd); DataSet ds = new DataSet(); try { con.Open(); Adapter.Fill(ds, "[Category]"); } catch (Exception err) { throw err; } finally { con.Close(); } return (int)ds.Tables["[Category]"].Rows[0]["KID"]; }
In Zeile 17 wird immer eine Exception geworfen. Wie muss ich die SQL-Abfrage schreiben, damit die Abfrage funktioniert? Oder liegt der Fehler vielleicht woanders?
EDIT: Ok es hat sich erledigt. Ich habe bei SqlCommand den falschen Konstruktor verwendet.
-
Verwende besser die using-Anweisung für die SqlConnection und den SqlCommand (dann ersparst du dir den try-catch-finally).
Und bei der Rückgabe frag lieber vorher ab, ob überhaupt eine Zeile gefunden wurde...
-
Oder noch besser, du verwendest LINQ To SQL
-
Es wäre daher immer gut, wenn die Threadersteller ihre .NET-Version (bzw. die VS) dabeischreiben würden...