Zum Inhalt springen
View in the app

A better way to browse. Learn more.

Fachinformatiker.de

A full-screen app on your home screen with push notifications, badges and more.

To install this app on iOS and iPadOS
  1. Tap the Share icon in Safari
  2. Scroll the menu and tap Add to Home Screen.
  3. Tap Add in the top-right corner.
To install this app on Android
  1. Tap the 3-dot menu (⋮) in the top-right corner of the browser.
  2. Tap Add to Home screen or Install app.
  3. Confirm by tapping Install.

VB.net: INSERT INTO

Empfohlene Antworten

Veröffentlicht

Hallo zusammen!

Ich hänge schon seit einiger Zeit an einem Problem und ich hoffe, dass ihr mir helfen könnt:

Ich hab eine Access-Datenbank mit mehreren Tabellen und diese will ich nun auf einen SQLServer 2008 migrieren. Die Tabellen sind alle unterschiedlich aufgebaut und unterschiedlich groß. Das Auslesen der Daten funktioniert einwandfrei. Mein Problem ist nun der 'INSERT INTO'-Befehl. Kann mir da jemand bitte helfen?!

Vielen Dank!!

Hui! Danke für die schnelle Reaktion!!

Mein Problem genau ist, dass mein bei dem INSERT INTO ja mit Parametern arbeiten muss. Das hab ich im Internet gefunden:

insertCmd.Parameters.Add("@FirstName", SqlDbType.NVarChar, 10, FirstName")

Ich hab keine Ahnung, wie ich die einzelnen Typen ermitteln kann, da sich in den unterschiedlichen Tabellen unterschiedliche Spalten und Werte befinden.

Bearbeitet von eisblume

Mein Problem genau ist, dass mein bei dem INSERT INTO ja mit Parametern arbeiten muss. Das hab ich im Internet gefunden:

Die Aussage ist so nicht richtig. Die eigentliche SQL-Anweisung lautet (ein Beispiel):


INSERT INTO Personen (Name, Vorname) VALUES ('Mustermann','Max');

Zur Not kann man(n) sich das Schema der Tabelle(n) auslesen. Darüber kommt man an die Datentypen der Spalten.

So hab ich mir das ursprünglich auch gedacht, aber dann bekomm ich folgende Fehlermeldung: "Ungültiger Objektname 'neueTabelle' ". Aber der Name der Tabelle stimmt :(.

Hast du mir ein Code-Beispiel dazu?

So hab ich mir das ursprünglich auch gedacht, aber dann bekomm ich folgende Fehlermeldung: "Ungültiger Objektname 'neueTabelle' ". Aber der Name der Tabelle stimmt :(.

Hast du mir ein Code-Beispiel dazu?

Die neue Tabelle existiert auch? Ein INSERT fügt in eine bestehende Tabelle ein.

Code gebe ich nicht gern vor, wo wäre denn da der Lerneffekt? ;-)

Außerdem gibt es da eine große Suchmaschine, die Dir bei den passenden Suchbegriffe mehr als eine Antwort geben wird.

Ja, die Tabelle existiert!! - Darüber hinaus besitzt die neue Tabelle auch die gleich Struktur wie die alte... . Als ich nach Lösungen geschaut hab, bin ich auf die Sache mit den Parametern gekommen, aber damit kann ich auch nichts anfangen.

Bin am Rand der Verzweiflung :'(

Kannst Du den Code vom Erstellen der Connection bis hin zum Absenden des Commands posten? Passwörter können ausgeblendet werden.

Funktioniert der INSERT Befehl auf dem Server (SQL Management Console)?

Das ist nicht so einfach, da das Ganze ein bisschen komplexer aufgebaut ist...

Aber das Aufbauen der Connection, sowie das Auslesen der Daten funktiontiert.

An dieser Stelle hängt es nun (zur Info strFields und strValues sind String() ):


Dim strInsert As String = "INSERT INTO " & getDatenbankname() & ".tbl" & Tabellenname & " (" & strFields & ") VALUES (" & strValues & ");"

Debug.Print(strInsert)

und herauskommt:

INSERT INTO Projekt.tblKunde ('Name', 'Vorname', 'Telefon', 'BLZ', 'Bank') VALUES ('Maier', 'Peter', '0801/1234', '12345608', 'Test Bank eG');

und dazu die schöne Fehlermeldung:

Ungültiger Objektname 'Projekt.tblKunde'

Ist der Datenbankname "Projekt" oder der Owner? (Bin etwas verwirrt, durch die Funktion "getDatenbankname")

Funktioniert es vielleicht mit einem voll qualifierten Objektnamen (DATENBANKNAME.OWNER.TABELLENNAME)?

Ist der Datenbankname "Projekt" oder der Owner? (Bin etwas verwirrt, durch die Funktion "getDatenbankname")

Funktioniert es vielleicht mit einem voll qualifierten Objektnamen (DATENBANKNAME.OWNER.TABELLENNAME)?

Dem würde ich mich jetzt erst mal anschließen. Zusätzlich noch die Frage(n):

1.) Funktioniert dieser String (INSERT INTO...) auch auf dem Server, wenn Du Ihn per Management-Konsole eingegeben bzw. kopiert hast?

2.) Zweiter Weg wäre, dieses Insert-Kommando als Stored Procedure auf dem Server abzulegen. Übergabe-Parameter wären da der Tabellenname und die zuzufügenden Values :-)

Ich habs.... so viel Dummheit sollte bestraft werden... *kopfschlag* :upps

Ich darf die Feldbezeichnung nicht in Hochkommata setzen.

Trotzdem Danke an alle :)!

:valen

Archiv

Dieses Thema wurde archiviert und kann nicht mehr beantwortet werden.

Configure browser push notifications

Chrome (Android)
  1. Tap the lock icon next to the address bar.
  2. Tap Permissions → Notifications.
  3. Adjust your preference.
Chrome (Desktop)
  1. Click the padlock icon in the address bar.
  2. Select Site settings.
  3. Find Notifications and adjust your preference.