Der Name 'sqlDbType' existiert im aktuellen Kontext nicht

7

Ich werde Textfeld Wert bearbeiten .. aber ich sah, es gibt ein Problem

%Vor%

FEHLER 1:

  

Der Name 'sqlDbType' existiert nicht im aktuellen Kontext

FEHLER 2:

  

'ERPSystem.DatabaseConnector' enthält keine Definition für 'Öffnen'   und keine Erweiterungsmethode 'Öffnen', die ein erstes Argument vom Typ akzeptiert   'ERPSystem.DatabaseConnector' konnte gefunden werden (fehlt eine Verwendung?   Richtlinie oder eine Assembly-Referenz?)

Meine DBConnector-Klasse ist:

%Vor%     
Learner 22.06.2012, 16:25
quelle

7 Antworten

12

C # ist case sensetive ... Versuchen Sie es mit Intellisense.

%Vor%

Die anderen Fehler können verschwinden, wenn Sie die erste korrigieren.

Nebenbei bemerkt, Sie werden in Verbindungs- / Speicherlecks geraten, ohne die Ressourcen richtig zu behandeln. Persönlich verwende ich die using Anweisung, um die Fallstricke zu vermeiden.

Ich bin nicht ganz sicher, was "DatabaseConnector" ist, möglich ist Ihre eigene Klasse, aber Sie sollten wahrscheinlich SqlConnection stattdessen oder möglicherweise SQL-Datenbank .

Update: Ich bin mir nicht sicher, ob die DBConnector-Klasse ein Singleton oder eine Factory oder beides sein soll - also habe ich meine Antwort vereinfacht, um sie zu vermeiden. Stellen Sie eine weitere Frage mit Details zum Erstellen des gesuchten Musters und zum Bereitstellen der DBConnector-Klasse. Ich denke, es ist machbar, aber ich habe einfach nicht genug Informationen, um zu beheben, was Sie haben.

%Vor%     
Chris Gessler 22.06.2012, 16:27
quelle
7

SqlDbType die s muss groß geschrieben werden!

    
javajavajava 22.06.2012 16:27
quelle
3
%Vor%

Sie haben tatsächlich Syntaxfehler, weil Sie s anstelle von S verwendet haben. Außerdem SqlCommand verfügt weder über eine Methode namens Open() noch über eine für Close()

Sie sollten SqlConnection verwenden, da es die Methoden Open() und Close() enthält und die Eigenschaft Connection von SqlCommand auf Ihre Instanz von SqlConnection setzt, um die Verbindung zu Ihrer Datenbank zu öffnen und zu schließen.

    
Security Hound 22.06.2012 16:50
quelle
2

Sie haben mehr Fehler.

  • Je nachdem, wie Sie es verwenden, meinen Sie SqlConnection anstelle von DatabaseConnector
  • Sie erstellen einen SqlCommand namens com , verweisen aber auf ihn als cmd
  • Sie müssen SqlConnection dem SqlCommand zuweisen oder es wird nicht wissen, welche Verbindung geöffnet werden soll.
  • Sie stellen dem SqlCommand nur 1 Parameter zur Verfügung, während die Abfrage zwei benötigt ( ItemNo sowie ItemName ).

Bearbeiten, basierend auf Ihrer neuen Quelle:

  • Der Fehler "DatabaseConnector" enthält keine Definition für 'Öffnen' "kann korrigiert werden, indem con.Connect() anstelle von con.Open() .
  • geschrieben wird
  • Der andere Fehler, dass er keine "Close ()" -Funktion hat, kann jedoch nicht korrigiert werden - es gibt keine Möglichkeit, ihm mitzuteilen, dass er eine Verbindung schließen soll.

Ist das Ihr eigener Code?

    
Mr Lister 22.06.2012 16:33
quelle
1

Verwenden Sie die Klasse, die von The Code Project erstellt wurde?

Nun, ich denke der Fehler liegt an der Verbindungszeichenfolge. Die Verbindungszeichenfolge muss in der Klasse OdbcDatabaseConnector sein. Nun, ich habe diese Klasse von Code Project nie benutzt, aber kann es sein.

    
MayogaX 22.06.2012 16:48
quelle
1

Wenn Sie mit dem Großbuchstaben "S" schreiben, aber immer noch denselben Fehler erhalten, vor allem in Visual Studio 2015, schreiben Sie statt "SqlDbType" zu schreiben: System.Data.SqlDbType

zum Beispiel:

%Vor%     
programmer21 16.09.2015 07:58
quelle
0

Sein Kapital 'S' in SqlDbType, nachdem Sie die Korrektur vorgenommen haben, klicken Sie mit der rechten Maustaste auf das Wort, gehen Sie mit der Maus über, um die Option zu lösen, und fügen Sie den System.Data-Namespace hinzu. hat für mich gearbeitet!

    
Anita K 17.09.2013 05:04
quelle

Tags und Links