Einzelnen Beitrag anzeigen

Mr. MC

Registriert seit: 13. Mai 2007
5 Beiträge
 
#1

Datenbankeintrag funktioniert nicht!

  Alt 18. Jan 2009, 13:23
Datenbank: MySQL • Zugriff über: ODBC
Hier der Quellcode, um die Daten zu ermitteln.(*funzt*):
Delphi-Quellcode:
function TService1.get_computer_ID: string;
var dw : DWORD;
    buffer : array of char;

begin
     setlength(buffer, 127);
     GetComputerName(@buffer [0], dw);
     setlength(result, dw);
     move (buffer [0], result [1], dw);

end;

function TService1.get_user_name: string;
var dw : DWORD;
    buffer : array of char;

begin
     setlength(buffer, 127);
     GetUserName(@buffer [0], dw);
     setlength(result, dw);
     move (buffer [0], result [1], dw);
     //showmessage(result);

end;

function TService1.get_wagon_name: string;
var dw : DWORD;
    buffer : array of char;

begin
     setlength(buffer, 127);
     GetComputerName(@buffer [0], dw);
     setlength(result, dw);
     move (buffer [0], result [1], dw);
     delete(result,6,7);

end;
Und hier der Quelltext zur Datenbankausführung:
Delphi-Quellcode:
function TService1.local_DB_transfer: string;
const _statm1 = 'insert into login values (NULL, (Select ID from Notebookwagen where name=''%s''),''%s'',''%s'')';

var s : string;


begin

s:=Format(_statm1,[get_wagon_name,get_user_name, get_computer_ID]);
with query1 do begin
sql.Clear;
sql.Add(s);
execsql;
end;
end;
Leider weint Delphi immer folgende Meldung mir entgegen:
Zitat:
Rechtes Anführungszeichen fehlt!
Habe mal die Funktionen einzel getestet. Dabei kam raus, dass der Name an der Fehlermeldung schuld ist und die anderen Werte in die Datenbank nicht eingetragen werden, weil sie nicht gelesen werden konnten, aber wenn man die Daten in einer txt-Datei speichert kommen alle Daten korrekt an.

Warum klappt sql-Befehl nicht und warum weint er wegen dem Namen?

[edit=mkinzler]Code-Tag in Delphi-Tag geändert Mfg, mkinzler[/edit]
[edit=mkinzler]Den 2. auch noch Mfg, mkinzler[/edit]
  Mit Zitat antworten Zitat