Datensatz aus windows formular in Tabelle einfügen

  • Themenstarter Themenstarter mariemueller
  • Beginndatum Beginndatum
M

mariemueller

Hi!
Wenn mir jemand zu folgendem Problem helfen könnte....

Ich erstelle mit VS.NET C# eine Anwendung die auf eine Access Datenbank zugreift.

Eine Tabelle davon heisst tblAbrechnungssatz(AbrechSatz-Nr ,Tgsatz ,Km_Satz , Km_Pauschale).
Mit einem WIndows Formular soll über 3 Textfelder (txtTgsatz, txtKm_Satz, txtKm_Satz) und einen "Speichern"-Button ein neuer Datensatz in die Tabelle eingefügt werden.
Ich erzeuge eine OleDbConnection zur Datenbank und einen OleDbDataAdapter.

Wie gelingt es mir die Werte aus den Textfeldern in die Tabelle der Datenbank einzufügen?

Vielen Dank für eure Hilfe!
 
Hi!

Du mußt ein OleDbCommand nutzen und eine INSERT INTO-Anweisung, die ungefär so aussieht:

INSERT INTO tblAbrechnungssatz (Tgsatz ,Km_Satz , Km_Pauschale) VALUES (" + txtTgsatz.Text + ", " + txtKm_Satz.Text + ", " + txtKm_Satz.Text + ")"

Die "AbrechSatz-Nr" nehme ich mal an ist ein AutoWert-Feld? Dann brauchst Du das nicht mit angeben, die Datenbank generiert dann automatisch eine neue Nummer. Wenn es kein AutoWert-Feld ist, dann mußt Du diese Nummer vorher selbst generieren und noch in die obige INSERT INTO-Anweisung einfügen.

Edit: Über die Methode ExecuteNonQuery des OleDbCommand's kannst Du das Kommando dann an die Datenbank absetzen.

MfG
..::SD::..
 
Zuletzt bearbeitet:
Am einfachsten wäre folgendes:

Du erstellt ein OleDbCommand Objekt, dem du den CommandText zum einfügen zuweist, zb (mit Parametern):

oledbcmd.Parameters.Add("@KmSatz", Datentyp)
"INSER INTO tblAbrechnungssatz (Km_Satz )
VALUES (@KmSatz)"

Dann führst du mit:

oledbcmd.ExecuteNonQuery(); den Befehl aus, nachdem du mit Connection.Open() die Verbindung geöffnet hast.

Das ganze natürlich bei dem EventHandler vom Button Click
 
Zurück