Einzelnen Beitrag anzeigen

Tomektor

Registriert seit: 16. Jul 2003
Ort: Hannover
15 Beiträge
 
#1

MySQL und MSSQL über ADO Problem beim EDIT

  Alt 15. Aug 2003, 11:25
Hallo,

Ich soll über eine Standard ODBC Verbindung (über ADO) Daten aus einer Datenbank auslesen und während des Auslesens ausgewählte Datensätze editieren. Das Programm soll sowohl mit MySQL als auch MSSQL gleichermassen laufen (der Enduser bestimmt welche Datenbank er haben will und diese zwei (plus Oracle) müssen unter Garantie laufen!).

Vorgehensweise:
- Das Programm liest aus der Datenbank mehrere Datensätze über die ADOQuery aus ('select * from ' + Tabelle + ' WHERE Messaging LIKE "%' + Station+ '%"') aus.
- Die Abfrage wird gesendet
- über eine Schleife von ADOQuery.First über ADOQuery.Next bis zur Erfüllung von While not ADOQuery.EOF werden die richtigen nacheinander Datensätze in einem Fenster angezeigt.
- Hier muss der User die Nachricht entweder bestätigen (Update im Datensatz -> ein Feld wird gefüllt) oder abbrechen (es passiert nichts). In beiden Fällen wird das Fenster geschlossen und das nächste Fenster mit dem nächsten Datensatz angezeigt.
- Das Update des betreffenden Datensatzes erfolgt über ADOQuery.Edit -> ADOQuery.FieldByName(FieldName).AsString -> ADOQuery.Post.

Nun zum Problem:
Diese Anweisung klappt mit der MSSQL jedoch nicht mit MySQL!!

Der Fehler tritt bei der Ausführung von ADOQuery.Post:
EOLEException - Die zum aktualisieren angegebene Zeile wurde nicht gefunden

Den Fehler habe ich noch mal im Angang angefügt.

Woran liegt es denn?!
Logisch betrachtet: Es liegt an der MySQL Datenbank.
Soweit ich verstanden habe ist es MySQL nicht möglich verschachtelte Abfragen zu machen wie:
SELECT * FROM Tabelle WHERE note>(SELECT AVG(note) FROM Tabelle)

könnte es daran liegen? Ich hoffe nicht
Welche Lösung hättet Ihr?
Fragen über Fragen...

Hoffe auf eine Antwort.

Gruß

Tomektor
Miniaturansicht angehängter Grafiken
oleexception1.gif  
  Mit Zitat antworten Zitat