Laden...

SqlDataAdapter mit DbConnection(new SqlConnection) führt zu einem Compiler-Fehler

Erstellt von Gnozo vor 10 Jahren Letzter Beitrag vor 10 Jahren 837 Views
G
Gnozo Themenstarter:in
141 Beiträge seit 2011
vor 10 Jahren
SqlDataAdapter mit DbConnection(new SqlConnection) führt zu einem Compiler-Fehler

verwendetes Datenbanksystem: SQL

Hallo Leute,

Ich bin gerade dabei einige Sachen von VB.NET in C# zu übersetzen und bin auf eine kleine Schwierigkeit gestoßen.

Folgendes Stück Code liegt in vb vor:


Using con As DbConnection = New SqlConnection()
\*snip*
  Dim sql As String = "Select * From Test_User Where user_Test = '" & myName & "'"
  Dim daUser As New SqlDataAdapter(sql, con)
\*snap*

Wenn ich dies nun versuche in C# zu übersetzten:


using (DbConnection con = new SqlConnection())
{
  *snip*
  string sql = "Select * From Test_User Where user_Test = '" + Name + "'";
  SqlDataAdapter daUser = new SqlDataAdapter(sql, con);
  *snap*
}

Meine vb Kenntinsse sind nicht wirklich weitgehend. Es reicht für einfache Befehle

Bekomme ich bei dem SqlDataAdapter folgenden Fehler:> Fehlermeldung:

2-Argument: Kann nicht von "System.Data.Common.DbConnection" in "System.Data.SqlClient.SqlConnection" konvertiert werden.

Ich frage mich, warum dies in VB funktioniert aber nicht in C# und was die Alternative dazu wäre.

Kann mir hier jemand helfen?

3.825 Beiträge seit 2006
vor 10 Jahren

Hallo Gnozo,

in C# wird nicht automatisch konvertiert, du musst das angeben (casten) :

SqlDataAdapter daUser = new SqlDataAdapter(sql, con as SqlConnection);

Oder schreibe gleich :

using (SqlConnection con = new SqlConnection())

Grüße Bernd

Workshop : Datenbanken mit ADO.NET
Xamarin Mobile App : Finderwille Einsatz App
Unternehmenssoftware : Quasar-3

G
Gnozo Themenstarter:in
141 Beiträge seit 2011
vor 10 Jahren

Hallo BerndFfm,

Danke, das war es 😃

Gruß
Gnozo

16.842 Beiträge seit 2008
vor 10 Jahren

Und da Du direkt in den nächsten Fehler läufst: [Artikelserie] SQL: Parameter von Befehlen

4.221 Beiträge seit 2005
vor 10 Jahren

Und hier die verschiedenen Möglichkeiten zu casten...

[FAQ] Casten aber richtig: () / is / as

Früher war ich unentschlossen, heute bin ich mir da nicht mehr so sicher...

G
Gnozo Themenstarter:in
141 Beiträge seit 2011
vor 10 Jahren

Und da Du direkt in den nächsten Fehler läufst:
>

Hallo Abt,

Welchen Fehler meinst du? Bis jetzt funktioniert es einwandfrei.

Gruß
Gnozo

16.842 Beiträge seit 2008
vor 10 Jahren

Hallo. Les den Artikel und schau Dein Query an.
Hab's nich umsonst verlinkt...

2.298 Beiträge seit 2010
vor 10 Jahren

Du hast jetzt vielleicht keinen funktionalen Fehler drin, aber bei einigen Werten wirst du feststellen, das du auf deine Weise in Probleme läufst.

Schau einfach mal in den Artikel rein. - Da sind die gängigsten Stolpersteine beschrieben. - Du solltest auf jeden Fall immer mit Parametern arbeiten.

Wissen ist nicht alles. Man muss es auch anwenden können.

PS Fritz!Box API - TR-064 Schnittstelle | PS EventLogManager |