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]