Einzelnen Beitrag anzeigen

DeadMatt

Registriert seit: 11. Jan 2007
32 Beiträge
 
#5

Re: Update einer Interbase Datenbank funktioniert nicht

  Alt 12. Jan 2007, 14:14
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
  Mit Zitat antworten Zitat