Zitat von
Pseudemys Nelsoni:
und wenn ich letztere Methode nehmen würde, dann müsste ich ja immer in jeder Funktion mit try..except arbeiten nur um eine
AV zu umgehen, das kann doch nicht richtig sein oder? <g>
Wie gesagt, guck dir Luckies Tutorial an, da ist z.B. sowas enthalten:
Delphi-Quellcode:
function Insert(Kontakt: TKontakt): Boolean;
var
query :
string;
ErrorCode : Integer;
begin
ErrorCode := mysql_select_db(Descriptor, DBNAME);
if ErrorCode = 0
then
begin
//Hier erstellst du dein Query
ErrorCode := mysql_real_query(Descriptor, PChar(
query), length(
query));
end;
result := ErrorCode = 0;
end;
AFAIK musst du sowieso immer mysql_select_db ausfuehren (ich kann mich aber auch irren), und du musst IMMER die Fehlerpruefung durchfuehren. Auch wenn du ein
Query ausfuehrst weisst du nicht obs glatt geht, deshalb wirst du auch dort Fehler abfangen muessen
Was denkst du was die
VCL im Hintergrund macht? Sie fuehrt etwas aus, fragt den Fehlercode ab und ist dann so lieb eine
Exception zu feuern anstatt dir einfach das Abfragen des Fehlercodes zu ueberlassen. Wenn dir die manuelle Pruefung nicht gefaellt, verwende doch die Zeos-Kompos. Diese greifen auch "nur" ueber die libmyql.dll zu, aber bieten dir einiges an Komfort (z.B. Exceptions oder Parameter, damit du dir Friemeleien wie im anderen Thread ersparen kannst
)
Greetz
alcaeus