erstmal danke fuer die Antworten
Ich hab nun alles nochmal geschrieben und eure Ratschlaege beruecksichtigt(Wenn ich dies nich vorher schon getestet hab
) und nun sieht es so aus, dass ich eine Funktion schreiben wollte womit nur ein Attribut geaendert wird.
Delphi-Quellcode:
function MemberDataUpdate(AUSWAHL:
string): boolean;
var
s_sql, Constr, ConOptions:
string;
cmd: BdpCommand;
trsa: BdpTransaction;
datred: BdpDataReader;
DBCon: BdpConnection;
begin
//Einstellungen der Datenbank sowie auch bei ConOptions
ConStr := '
Provider=Interbase;' +
'
assembly=Borland.Data.Interbase, Version=2.5.0.0,' +
'
Culture=neutral, PublicKeyToken=91d62ebb5b0d1b1b;' +
'
vendorclient=gds32.dll;pooling=True;' +
'
grow on demand=True;database=localhost:C:\InterbaseDB\XYZ.IB;' +
'
username=sysdba;max pool size=100;password=masterkey';
ConOptions := '
LoginPrompt=False;SQLDialect=3;RoleName=None;' +
'
CommitRetain=true;ServerCharSet=NONE;RollbackRetain=False;' +
'
TxnIsolation=ReadCommitted;WaitOnLocks=true';
//Einstellungen in die Verbindung implementieren
DBCon:= BdpConnection.Create(ConStr);
DBCon.ConnectionOptions:= ConOptions;
s_sql := '
UPDATE MITARBEITER SET VORNAME ='+AUSWAHL+'
WHERE KUERZEL= '+'
''
'+Environment.UserName+'
''
';
cmd := BdpCommand.Create(s_sql, DBCon);
try
DBCon.Open;
trsa := DBCon.BeginTransaction;
cmd.Transaction:=trsa;
cmd.ExecuteNonQuery;
{das muesste das cmd.exequery sein^^ is zwar NON query aber nen anderes gabs nich}
trsa.Commit;
DBCon.Close;
result := true;
finally
result := false;
end;
end;
doch ist es egal was ich mache, ich bekomme IMMER ein false zurueck! bin verzweifelt