Zitat von
Elvis:
Jupp, nachdem du sagst wie du BOOLEAN defniert hast. Ist das nicht eine domain, die eigentlich auf einen Integer zeigt? Wenn sie auf einen SmallInt zeigt, musst du natürlich den passenden DbType.Int16 nehmen.
Intern (in Interbase) stimmt das natürlich weiterhin, aber nicht mehr aus Sicht des Entwicklers:
Zitat von
DataDef.pdf Seite 4-1 ff.:
InterBase supports the following datatypes:
BOOLEAN 16 bits
• Represents truth values TRUE, FALSE, and UNKNOWN
• Requires ODS 11 or higher, any dialect
Also müsste der Rückgabewert auch von BDP als bool verstanden werden. Ich kann natürlich (wie bei früheren
IB-Versionen und wie Du es gemacht hast) den int-Wert 1 als true und alles andere als false interpretieren; aber eigentlich sollte der "richtige" bool-Wert abgefragt werden können.
[/edit]Oder sollte ich davon ausgehen, dass der Borland Data Provider die Datentypen der Borland-Datenbank Interbase nicht genau genug kennt?
Zitat von
Elvis:
Außerdem ist deine Fehlerbehandlung
IMHO furchtbar, denn
IMHO dürfte so eine Funktion keine
Exception schlucken um dann eine generische zu werfen.
Tut mir leid, aber das musst Du mir näher erläutern:
Ich bin Einzelkämpfer und habe nur durch Literatur und try-and-error gelernt; es fehlten mir immer die Kontakte mit anderen Programmierern. Also weiß ich oft nicht, was furchtbar ist.
Ablauffehler versuche ich durch entsprechende
vorherige Prüfungen zu vermeiden. Da es aber - wie hier zu sehen war - trotzdem zu unerwarteten Fehlern kommen kann, fasse ich in einem try-except-finally-Block alles zusammen, was zu einem Ablauf gehört.
Da ich die Methoden noch trennen werde (wie ich in meinem letzten Beitrag geschrieben habe), werde ich vermutlich auch die Auswertung der Rückgabewerte verlagern. Das jetzt ist noch eine Testsituation.
Der catch-Block soll natürlich der
eigenen Fehlerbehandlung dienen. Dennoch möchte ich die ursprüngliche Fehlermeldung kennen (das halte ich auch für sinnvoll, wenn sich der Endanwender meldet). Da der catch-Block nur für Notfälle da ist, verzichte ich auch weitgehend auf die Unterscheidung der
Exception-Typen.
Bitte sage mir, wie Du Dich in meiner Situation verhalten würdest. Jürgen