Seite 1 von 1

ADOmate 2 unter PB4.50 - falsche ADO-Fehlermeldungen

Verfasst: 09.07.2010 13:46
von Andreas_F
Unter PureBasic 4.50 habe ich mit COMatePlus für PB 4.5 und ADOmate 2.0.0 (Test-Version) das Problem, dass mit ADOmate_GetLastErrorDescription() der Text "Okay" ausgegeben wird an Stelle einer ausführlichen ADO-Fehlermeldung.
ADOmate_GetLastErrorCode() = -1.
Unter PureBasic 4.41 mit COMatePlus für PB 4.3 und ADOmate 2.0.0 tritt das Problem nicht auf. Hier kommen die ausführliche ADO-Fehlermeldungen.
Mache ich etwas falsch oder muss ich hier auf eine speziell an PB 4.5 angepasste ADOmate-Version warten?

Re: ADOmate 2 unter PB4.50 - falsche ADO-Fehlermeldungen

Verfasst: 09.07.2010 14:03
von Kiffi
kannste kurz schreiben, wie Du diesen ADO-Fehler bekommen hast (Falscher ConnectionString,
Fehlerhafte SQL, whatever)? Dann schaue ich mal, ob ich das hier reproduzieren kann.

Grüße ... Kiffi

Re: ADOmate 2 unter PB4.50 - falsche ADO-Fehlermeldungen

Verfasst: 09.07.2010 15:34
von Andreas_F
hallo kiffi,

es handelt sich bei meinen Fehlern um SQL-Fehler, die sich im aus der referenziellen Integrität oder den Primary Keys der Jet-Datenbank (MS-Access) ergeben:

Mit PB4.50, ADOmate 2.0.0, COMatePlus für PB4.5:

ADOmate-Error-Code: -1
ADOmate-Error-Description: Okay.
Abfrage: INSERT INTO Tbl_IM_ORP_Projektierungsauftrag VALUES (´X-OGT0-ORP-B122´, ´218-09-10´, ´Q-00001445-012´)

Mit PB4.41, ADOmate 2.0.0, COMatePlus für PB4.3:

ADOmate-Error-Code: -1
ADOmate-Error-Description: Die von Ihnen vorgenommenen Änderungen an der Tabelle konnten nicht vorgenommen werden, da der Index, Primärschlüssel oder die Beziehung mehrfach vorkommende Werte enthalten würde. Ändern Sie die Daten in den Feldern, die gleiche Daten enthalten, entfernen Sie den Index, oder definieren Sie den Index neu, damit doppelte Einträge möglich sind, und versuchen Sie es erneut.

Abfrage: INSERT INTO Tbl_IM_ORP_Projektierungsauftrag VALUES ('X-OGT0-ORP-B122', '218-09-10', 'Q-00021418-013')

Vielen Dank für Deine Unterstützung!

Re: ADOmate 2 unter PB4.50 - falsche ADO-Fehlermeldungen

Verfasst: 09.07.2010 16:29
von Kiffi
bestätigt.

es reicht ein simples

Code: Alles auswählen

ADOmate_DatabaseUpdate(myConnection, "Insert Into")
Debug ADOmate_GetLastErrorCode() ; liefert -1
Debug ADOmate_GetLastErrorDescription() ; liefert Okay
ADOmate_GetLastErrorDescription() müsste hier allerdings "Syntaxfehler in der INSERT INTO-Anweisung." melden.

wenn man in ADOmate testweise das Connection.Error-Objekt ausliest, dann
bekommt man den Fehler auch korrekt ausgegeben.

Code: Alles auswählen

[...]
ElseIf *connection\connectionObject\Invoke("Execute('" + request$ + "', " + Str(@RecordsAffected) + " ByRef)") = #S_OK
  result = RecordsAffected
  ADOmate_SetError(#ADOmate_OKAY)
Else
  
  If *connection\connectionObject\GetIntegerProperty("Errors\Count") > 0 ; testweise mal das Errors-Objekt befragen
    Debug "--->" + *connection\connectionObject\GetStringProperty("Errors\Item(0)") ; hier wird die korrekte Fehlermeldung ausgegeben
  EndIf
  
  ADOmate_SetError(#ADOmate_COMateERROR)
  
EndIf
[...]
Erster Ansprechpartner hierfür ist natürlich srod. Kannst du ihm im englischen Forum einen Bugreport schreiben?

Grüße ... Kiffi

Re: ADOmate 2 unter PB4.50 - falsche ADO-Fehlermeldungen

Verfasst: 09.07.2010 19:28
von Andreas_F
Hallo Kiffi,

habe im englischen Forum eine entsprechende Meldung eingestellt:

http://www.purebasic.fr/english/viewtop ... .0#p328210

Vielen Dank für Dein Feedback!
Andreas

Re: ADOmate 2 unter PB4.50 - falsche ADO-Fehlermeldungen

Verfasst: 09.07.2010 22:13
von Kiffi
Andreas_F hat geschrieben:Vielen Dank für Dein Feedback!
danke für Deinen Bugreport! :-)

Fehler ist behoben. Neue Version steht zum Download bereit <)

http://www.purebasic.fr/english/viewtop ... 14#p328214

Grüße ... Kiffi