Registriert seit: 21. Aug 2004
Ort: Lengerich
658 Beiträge
RAD-Studio 2009 Ent
|
Re: Warum stürzt das Ding dabei ab?
28. Jun 2005, 12:42
Zitat von marabu:
Hallo EL,
ich vermisse die Deklaration der function mysql_escape_string() und die Angabe auf welcher DLL (libmysql.dll? Version?) du aufsetzt. Was muss man machen, um dein Problem nachzustellen?
Grüße vom marabu
Nachtrag: ... aber das hält mich nicht auf. Bei mir funktioniert es.
Delphi-Quellcode:
program test;
{$APPTYPE CONSOLE}
uses
SysUtils;
var
src, tgt: string;
i: integer;
function mysql_escape_string(szTo, szFrom: pchar; len: cardinal): cardinal; stdcall;
external 'libmysql';
begin
src := 'geht doch'#13#10'oder etwa nicht?';
SetLength(tgt, Length(src) * 4);
i := mysql_escape_string(pchar(tgt), pchar(src), Length(src));
WriteLn(tgt);
ReadLn;
end.
Noch ein Nachtrag - mit MYSQL.PAS geht auch das bei mir:
Delphi-Quellcode:
program test;
{$APPTYPE CONSOLE}
uses
SysUtils,
MySQL;
var
src, tgt: string;
i: integer;
my: PMySQL;
begin
my := mysql_init( nil);
if mysql_real_connect(my, ' localhost', ' root', ' ', ' conpresso', 0, nil, 0) = my then begin
src := ' geht doch'#13#10' oder etwa nicht?';
SetLength(tgt, Length(src) * 4);
try
i := mysql_real_escape_string(my, pchar(tgt), pchar(src), Length(src));
WriteLn(tgt);
except
on E: Exception do
WriteLn(e. message);
end;
ReadLn;
end;
mysql_close(my);
end.
warum setzt Du hier: SetLength(tgt, Length(src) * 4); die Länge x4 ?
Gruss
EL
Narben am Körper sind ein Zeichen dafür, das man gelebt hat.
Narben auf der Seele sind ein Zeichen dafür, das man geliebt hat.
|
|
Zitat
|