Zum Inhalt springen

Problem bei INSERT Befehl in Paradox Tabelle


Shadowblade

Empfohlene Beiträge

Folgendes Problem:

Ich will in eine Paradox Tabelle Datensätze per INSERT in einer Schleife einfügen. Der erste Datensatz wird noch korrekt eingetragen, beim zweiten Durchlauf oder wenn allgemein bereits etwas in der Tabelle steht, erhalte ich beim Ausführen des INSERTS die Fehlermeldung "Operation muss eine aktualisierbare Abfrage verwenden". Der Quellcode sieht etwa so aus:

// recordset und connection objekt einstellen

i = 0

Do While i < 5

rsRecParadox2.Open "INSERT INTO test VALUES (" & i & ")", cnConParadox

i = i + 1

Loop

Ich kann mit der Fehlermeldung leider überhaupt nichts anfangen, wäre echt super wenn mir hier jemand weiterhelfen könnte

Link zu diesem Kommentar
Auf anderen Seiten teilen

Mit VisualBasic greif ich darauf zu. Genauer die Verbindung zur Datenbank bau ich folgendermaßen auf:

Dim cnConParadox As ADODB.Connection

Set cnConParadox = New ADODB.Connection

sPathToDB = txtParadoxPfad.Text

cnConParadox.Mode = adModeShareDenyNone

cnConParadox.CursorLocation = adUseClient

cnConParadox.ConnectionString = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & sPathToDB & ";" & _

"Jet OLEDB:Engine Type=" & JET_ENGINETYPE_PARADOX4X & ";" & _

"User ID=;Password=;"

cnConParadox.Open

und dann halt der bereits gepostete Code

Lesen kann ich aus der DB, aber halt keine Datensätze hinzufügen wenn scho was in der Paradoxtabelle steht

Link zu diesem Kommentar
Auf anderen Seiten teilen

Moin!

Ich habe/kann kein VB, aber ich habe mir mal im Netz ein paar Beispiele angeguckt und es scheint mir, daß Du vergessen hast vor dem Schreiben den Datensatz mit der Methode AddNew anzulegen. Eigentlich sollte das ja bei INSERT automatisch passieren, aber man kann ja nie Wissen...

Link zu diesem Kommentar
Auf anderen Seiten teilen

Original geschrieben von Shadowblade

erhalte ich beim Ausführen des INSERTS die Fehlermeldung "Operation muss eine aktualisierbare Abfrage verwenden".

Die Fehlermeldung besagt normalerweise, das die Abfrage die angegeben ist nicht aktualisiert werden kann. (irgendwie klar, oder ;) ) Was heisst das auf deutsch?

Eine Abfrage kann nur dann aktualisiert werden, wenn klar ist welche Datei geändert werden soll. Es darf also nur eine Tabelle in der Abfrage enthalten sein. Keine Joins o.ä.

Das das ganze aber bei einem INSERT auftritt kapier ich auch nicht so ganze... Hängt vielleicht irgendein Ereignis an deiner Komponente? Ist das der ganze Code? Der eigentliche Fehler tritt vielleicht ganz woanders auf.

Link zu diesem Kommentar
Auf anderen Seiten teilen

Original geschrieben von Shadowblade

Ja der Fehler tritt nur bei diesem Insert auf, normale Select-Befehle laufen ganz normal. Das ist natürlich nicht der komplette Code, nur die Abschnitte die für das Schreiben relevant sind.

also is ja lange her, dass ich mit vb und ado auf datenbanken zugegriffen hab, aber irgendwie kommt mir das komisch vor, die open-methode von nem recordset zu benutzen, um datensätze einzufügen.

also ich hab immer die execute-methode vom connection-objekt benutzt. ich mein, wofür brauchssu auch n recordset beim einfügen... noch dazu in ner schleife?

also ein weg wäre dann ungefähr folgender:

cnConParadox.Execute("INSERT INTO test VALUES (" & i & ")") <oder so>

noch sinnvoller erscheint natürlich ein prepared statement, aber da müsst ich nu noch mehr überlegen, wie das ging. ich glaub, da erstellt man ein command-object, bestückt das innerhalb der schleife mit parametern und ruft *dessen* execute-methode auf.

wie gesacht, is lange her.

gruss,

dent

Link zu diesem Kommentar
Auf anderen Seiten teilen

Dein Kommentar

Du kannst jetzt schreiben und Dich später registrieren. Wenn Du ein Konto hast, melde Dich jetzt an, um unter Deinem Benutzernamen zu schreiben.

Gast
Auf dieses Thema antworten...

×   Du hast formatierten Text eingefügt.   Formatierung wiederherstellen

  Nur 75 Emojis sind erlaubt.

×   Dein Link wurde automatisch eingebettet.   Einbetten rückgängig machen und als Link darstellen

×   Dein vorheriger Inhalt wurde wiederhergestellt.   Editor leeren

×   Du kannst Bilder nicht direkt einfügen. Lade Bilder hoch oder lade sie von einer URL.

Fachinformatiker.de, 2024 by SE Internet Services

fidelogo_small.png

Schicke uns eine Nachricht!

Fachinformatiker.de ist die größte IT-Community
rund um Ausbildung, Job, Weiterbildung für IT-Fachkräfte.

Fachinformatiker.de App

Download on the App Store
Get it on Google Play

Kontakt

Hier werben?
Oder sende eine E-Mail an

Social media u. feeds

Jobboard für Fachinformatiker und IT-Fachkräfte

×
×
  • Neu erstellen...