Discussion:
Überladungen von Methoden und nicht verwendbar ...
(zu alt für eine Antwort)
Peter Tatje
2004-11-26 06:47:15 UTC
Permalink
Hallo,

ich habe hier eine C# Anwendung. Und wenn ich die Erstellen möchte kriege
ich folgenden Fehler gemeldet:
'Die beste Übereinstimmung für die überladene Methode
'System.Data.SqlClient.SqlDataAdapter.SqlDataAdapter(string, string)' hat
einige ungültige Argumente'


Ist im Prinzip auch fast OK, da ich an die Methode einen string, und im
letzten Parameter die Connection übergebe, was laut Überladungsliste auch
möglich ist (er zeigt es ja sogar an) und in VB.Net auch funktioniert.


Was genau will der Compiler hier von mir, und wie kann ich trotzdem meine
Art des Methodenaufrufes nutzen:
'System.Data.SqlClient.SqlDataAdapter.SqlDataAdapter(string, connection)'
(ich mein diese Überladung gibt es doch)



Gruß und Dank im Voraus
Frank Dzaebel
2004-11-26 08:05:02 UTC
Permalink
Hallo Peter,
Post by Peter Tatje
ich habe hier eine C# Anwendung. Und wenn ich die Erstellen möchte kriege
'Die beste Übereinstimmung für die überladene Methode
'System.Data.SqlClient.SqlDataAdapter.SqlDataAdapter(string, string)' hat
einige ungültige Argumente'.
Ein paar Möglichkeiten :
1) in C# vergisst man bei einer Migration von VB.NET mitunter anstatt
runde Klammern die eckigen zu nehmen.
2) Es kann evtl. die Einbindung einer externen Assembly fehlen.
3) Die Typen stimmen tatsächlich nicht überein (Überseher).

Die von Dir beschriebene Fehlermeldung kommt immer nur dann,
wenn die Parameter-Typen wirklich nicht in eine der Überladungs-Methoden
passen, bzw. diese nicht vorhanden ist. Deshalb poste bitte a) den Code des
Aufrufs selber, die Typ-Deklaration aller Parameter.

ciao Frank
--
Dipl.Inf. Frank Dzaebel [MCP C#]
Peter Tatje
2004-11-26 08:30:06 UTC
Permalink
Hallo Frank,

danke, dein Tipp war Gold wert mein Fehler lag tatsächlich daran, dass ich
eine Variablendeklaration vom Typ IDBConnection hatte (die wird im Laufe des
Codes tatsächlich mit einer SQLConnection belegt) und diese an einen
SQLDataAdapter geben wollte, der nur eine SQLConnection aktzeptiert. Ein
TypeCast [(SQLConnection)cnConnection] brachte dann das gewünschte
Ergebnis.

Manchmal muss man sich ein bissel dran gewöhnen, dass C# da ein wenig härter
mit einem umgeht als VB.Net.


MFG Peter
Post by Frank Dzaebel
Hallo Peter,
Post by Peter Tatje
ich habe hier eine C# Anwendung. Und wenn ich die Erstellen möchte kriege
'Die beste Übereinstimmung für die überladene Methode
'System.Data.SqlClient.SqlDataAdapter.SqlDataAdapter(string, string)' hat
einige ungültige Argumente'.
1) in C# vergisst man bei einer Migration von VB.NET mitunter anstatt
runde Klammern die eckigen zu nehmen.
2) Es kann evtl. die Einbindung einer externen Assembly fehlen.
3) Die Typen stimmen tatsächlich nicht überein (Überseher).
Die von Dir beschriebene Fehlermeldung kommt immer nur dann,
wenn die Parameter-Typen wirklich nicht in eine der Überladungs-Methoden
passen, bzw. diese nicht vorhanden ist. Deshalb poste bitte a) den Code des
Aufrufs selber, die Typ-Deklaration aller Parameter.
ciao Frank
--
Dipl.Inf. Frank Dzaebel [MCP C#]
Loading...