Autor Beitrag
Leuchtturm
ontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic star
Beiträge: 1087

Win Vista, Knoppix, Ubuntu
Delphi 7 Pe, Turbo Delphi, C#(VS 2005 Express), (X)HTML + CSS, bald Assembler
BeitragVerfasst: So 27.05.07 16:52 
Hi,
ich habe schon gesucht aber nichts gefunden.
Wie kann ich mit mein Programm etwas in eine Datenbank eintragen??
Ich habe mir auch das schon durchgelesen:www.galileocomputing...600604001b8e1f019186
Nutzt mir aber nicht wirklich viel :(
Leuchtturm

_________________
Ich bin dafür verantwortlich was ich sage - nicht dafür was du verstehst.
JüTho
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 2021
Erhaltene Danke: 6

Win XP Prof
C# 2.0 (#D für NET 2.0, dazu Firebird); früher Delphi 5 und Delphi 2005 Pro
BeitragVerfasst: So 27.05.07 17:48 
Wenn Dir Kap.26 des Galileo OpenBook nicht hilft, was soll Dir dann helfen???

Es gibt mindestens zwei (wesentlich verschiedene) Wege:
  • Erzeuge ein DbCommand mit einem SQL-Befehl "INSERT" und führe diesen mit ExecuteNonQuery aus.
  • Erzeuge einen DbDataAdapter, trage bei diesem das InsertCommand ein (notfalls mit Hilfe des DbCommandBuilder) und führe DbDataAdapter.Update aus.

In beiden Fällen brauchst Du natürlich eine passende DbConnection zu Deiner Datenbank.

Gruß Jürgen

PS. Ich habe jeweils Db-Klassen genannt. Du brauchst unbedingt diejenigen Klassen, die für Dein DBMS und den dazu gehörigen DbProvider gelten: also z.B. MySqlCommand usw.
Leuchtturm Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic star
Beiträge: 1087

Win Vista, Knoppix, Ubuntu
Delphi 7 Pe, Turbo Delphi, C#(VS 2005 Express), (X)HTML + CSS, bald Assembler
BeitragVerfasst: Mo 28.05.07 11:41 
Erstmal danke.
So hier??:
ausblenden C#-Quelltext
1:
2:
sqlDataAdapter1.InsertCommand = "INSERT INTO Kontakte(k_vname,k_nname,k_telefon,k_postleitzahl,k_stadt,k_straße,k_hausnummer)VALUES(Vorname,Nachname,1234567,01234,Stadt,Straße,5)";
sqlDataAdapter1.Update();

Da kommt die Fehlermeldung:
Für InsertCommand hat folgendes geschrieben:
Eine implizite Konvertierung vom Typ "string" in "System.Data.SqlClient.SqlCommand" ist nicht möglich.

und
für Update() hat folgendes geschrieben:
Keine Überladung für die Update-Methode nimmt 0 Argumente an.


Was muss ich anders machen??
Orell

_________________
Ich bin dafür verantwortlich was ich sage - nicht dafür was du verstehst.
JüTho
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 2021
Erhaltene Danke: 6

Win XP Prof
C# 2.0 (#D für NET 2.0, dazu Firebird); früher Delphi 5 und Delphi 2005 Pro
BeitragVerfasst: Mo 28.05.07 13:08 
Ist es so schwer, selbst in die Doku zu schauen?

Zitat:
Eine implizite Konvertierung vom Typ "string" in "System.Data.SqlClient.SqlCommand" ist nicht möglich.

sqlDataAdapter1.InsertCommand ist vom Typ SqlCommand und nicht vom Typ String. Das Beispiel zu SqlDataAdapter.InsertCommand-Eigenschaft zeigt doch, wie der CommandText (bei Dir "Insert...") in einen neuen SqlCommand einbezogen und mit dem DataAdapter verknüpft wird.

Zitat:
Keine Überladung für die Update-Methode nimmt 0 Argumente an.

Diese Fehlermeldung ist doch ebenfalls eindeutig; und unter DataAdapter.Update-Methode steht, was als Argument anzugeben ist.

Jürgen