Ich nutze diese Funktion:
GetResult : Function (SQLResult:Pchar;ResultLen:Integer):Boolean;
Der Aufruf:
Delphi-Quellcode:
var ResultLen, pos_x, i : Integer;
SQLResult : PChar;
resultstring: String;
ResultLen := QuerySQL('datenbankname'
,Pchar('select user_pw from tomaten_user where user_name = "'+ e_login.text + '"'));
memo_news.Lines.Add('Speicherbedarf: ' + IntToStr(ResultLen));
getMem(SQLResult, ResultLen);
GetResult(SQLResult, ResultLen);
resultstring := String(SQLResult);
Das
SQL-Ergebnis der Abfrage sieht so aus: Tomaten#$D#$A
Mein gewünschtes Ergebnis wäre Tomaten. Dieser Anhang #$D#$A muss weg, ich weiss auch nicht wo er herkommt. Im Memo steht dann wirklich das Wort Tomaten, aber der Debugger zeigt diesen komischen Anhang an.
Wenn ich nun Tomaten mit Tomaten#$D#$A vergleiche stimmt das natürlich nicht überein. Deshalb wollte ist das #$D#$A mit Pos und Delete wegoptimieren.
Delphi-Quellcode:
pos_x := Pos('#', resultstring);
if pos_x <> 0 then
begin
Delete(resultstring, pos_x, 6);
end;
Komischerweise wird nie ein # gefunden. Was mach ich wieder falsch?
Gruselige Grüsse JJ