SQL-Abfrage INSERT INTO in VB.net 2003

danisan

Grünschnabel
Moin zusammen,
habe ein Problem mit meinem Datenbankzugriff unter
VB.net 2003.
Mit Hilfe einer Select-Abfrage in SQL kann ich
die Datensätze meiner Datenbank ohne
Probleme auslesen. Die DB ist relational angelegt.
Wenn ich nun aber versuche, neue Datensätze in die
Datenbank zu schreiben, gibt es ein Problem:

Mit folgender Befehlsfolge kann ich Daten hinzufügen:

INSERT INTO Tabelle1(Feld)
VALUES (Blabla)

Problem ist,dass ich net mehrere Einträge gleichzeitg
durchführen kann und zwar in mehrere Tabellen
gleichzeitig.
VB.net akzeptiert nicht meine Syntax.

Kann mir jemand einen Tip geben, wie ich in die
verschiedenen verknüpften Tabellen gleichzeitig
Werte schreiben kann?

Der bisherige Code lautet wie folgt:

Code:
Dim _dt As New DataTable
Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
'Datenbankverbindung deklarieren'
Dim Cn As New OleDb.OleDbConnection("Provider=Microsoft.Jet.OLEDB.4.0;" & "Data Source=meine_ Datenbank.mdb;" & "User ID=Admin;")
'Datenadapter mit den im Puffer gespeicherten Daten füllen
OleDbDataAdapter1.Fill(_dt)
Cn.Close()
DataGrid1.DataSource = _dt
'Konvertierung der Datensätze in eine Zeichenkette
DataGrid1.DataMember = _dt.ToString
End Sub

Der SELECT-Befehl ist dieser, denn es sind wirklich viele Tabellen:

Code:
SELECT Artikel.Artikelname, Einkaufspreis.Stückzahl, Einkaufspreis.Stückpreis, Lieferant.Name, Wareneingang.LieferNr, Wareneingang.Lieferdatum, 
Verkaufspreis.Stückzahl AS Stck, Verkaufspreis.Stückpreis AS Stckpreis, Käufer.Nachname, Warenausgang.Rechnungsnr, Warenausgang.Datum, 
Warenausgang.bezahlt
FROM (((((Warenausgang INNER JOIN
Käufer ON Warenausgang.KID = Käufer.KID) INNER JOIN
Wareneingang ON Warenausgang.LieferNr = Wareneingang.LieferNr) INNER JOIN
(Lieferant INNER JOIN
Einkaufspreis ON Lieferant.VID = Einkaufspreis.VID) ON Wareneingang.LieferNr = Einkaufspreis.LieferNr) INNER JOIN
Verkaufspreis ON Warenausgang.Rechnungsnr = Verkaufspreis.Rechnungsnr) INNER JOIN
Artikel ON Warenausgang.Artikelnr = Artikel.Artikelnr)

In diese Tabellen sollen nun neue Datensätze eingefügt werden.
Das lässt sich über die grafische Benutzeroberfläche handhaben.
Aber der gültige Befehl für das INSERT INTO
schlägt fehl.
Wär euch sehr dankbar, wenn ihr mir helfen könnt.

LG
danisan

:( :(
 
Hallo danisan,

funktioniert denn folgendes nicht?


INSERT INTO Tabelle1(Feld1, Feld2, Feld3)
VALUES (Wert1, Wert2, Wert3)


Also bei mir geht das und es würde mich wundern wenn da ein Fehler kommt. Wenn du ein Text-Feld in die DB schreiben willst, musst du natürlich noch Hochkommas verwenden ('Text').

Wenn der Wert für Wert1 - Wert3 z.B. aus einer TextBox kommt, dann machst du folgendes:

INSERT INTO Tabelle1(Feld1, Feld2, Feld3)
VALUES ('" + wert1.Text + "', '" + wert2.Text + "', '" + wert3.Text + "')


ciao Anke
 
Hei Anke,

danke für die Antwort.
Leider hab ich schon soviel ausprobiert und es gibt immer nur
Probleme mit den Semikola.
Da ich ja ein Datensatz über mehrere Tabellen verteilen will.
brauche ich ja mehrere INSERTS. Die trenn ich doch nun
mit Hilfe des Semikolons. Aber da gibt es eben die Fehlermeldung,
dass ein Zeichen nach Ende der SQL-Anweisung gefunden wurde.
:(

Die Hochkommas habe ich auch schon gesetzt, aber brachte leider auch net
den gewünschten Erfolg.
Kann man denn mehrere INSERTs auch anders trennen?

LG
Dani
 
Hmm, ich würde einfach die Inserts nacheinander machen. Also erst den 1nen, dann den anderen. Sorry aber ich hatte dieses Problem so noch nicht. Ich füll immer nur eine Tabelle mit verknüpfungen zu anderen (IDs) ;)


ciao Anke
 
Hei Anke,

wenn du immer nur in eine Tabelle etwas einfügst, die aber über
die IDs mit anderen verknüpft ist, gibst du die Relationen dann
mit an? Also mit INNER JOINs oder so?

Es ist schon merkwürdig, dass keiner dieses Problem zu haben scheint.
Verstehe das net. Normalerweise müsste meine Abfrage funktionieren, aber
das Programm macht mir immer einen Strich durch die Rechnung.

Weiss echt nicht mehr weiter. Habe auch in sämtlichen anderen Foren
angefragt, Suchmaschinen abegeklappert und die Programhilfen
verwendet, aber es gibt einfach keine Antwort auf meine Frage, da meist
nur erklärt wird, wie man neue Datensätze in eine Tabelle einfügt.
Das funktioniert auch bei mir, aber sobald ich eine zweite Tabelle dazunehme,
ist es aus.

Trotzdem danke für deine Hilfe.
Vielleicht weiss noch jemand anders Rat. :rolleyes:

LG
Dani
 
Ich wähle zum Beispiel etwas in einer DropDownListe aus und habe dahinter einen Wert (ID), diesen Wert trage ich dann bei meinem Insert in die DB und so erhalte ich meine Verknüpfungen


ciao Anke
 
Original geschrieben von hurricane
Ich wähle zum Beispiel etwas in einer DropDownListe aus und habe dahinter einen Wert (ID), diesen Wert trage ich dann bei meinem Insert in die DB und so erhalte ich meine Verknüpfungen



Danke, das hat schon geholfen.
Aber bei mir klappt das alles net.
Werde morgen nochmal meinen Dozenten fragen,
weil wir dort über SQL-Befehle reden werden.

Also, vielen Dank für die Müh.
LG
Dani
 

Neue Beiträge

Zurück