Thema: Prism Transaction?

Einzelnen Beitrag anzeigen

Benutzerbild von HomerGER
HomerGER

Registriert seit: 8. Jun 2003
390 Beiträge
 
Delphi 7 Professional
 
#1

Transaction?

  Alt 6. Jul 2005, 12:05
Datenbank: MSSQl • Zugriff über: OleDb
Hallo
meine SP in der DB sieht so aus
Delphi-Quellcode:
CREATE PROCEDURE GFC_M_INSERT
   @GFC_M_ID int output,
   @GFC_M_NAME nvarchar(100),
   @GFC_M_AKTIV bit,
   @GFC_M_OUT bit,
   @GFC_M_USER_NAME nvarchar(50),
   @GFC_M_USER_TXT ntext,
   @GFC_M_USER_DATE smalldatetime
AS
SET NOCOUNT ON

INSERT INTO [GFC_Medien]
(
         [GFC_M_NAME],
         [GFC_M_AKTIV],
         [GFC_M_OUT],
         [GFC_M_USER_NAME],
         [GFC_M_USER_TXT],
         [GFC_M_USER_DATE]
)
VALUES
(
         @GFC_M_NAME,
         @GFC_M_AKTIV,
         @GFC_M_OUT,
         @GFC_M_USER_NAME,
         @GFC_M_USER_TXT,
         @GFC_M_USER_DATE
)

SET @GFC_M_ID = @@IDENTITY
GO
meine Insert anweisung in Delphi
Delphi-Quellcode:
//Insert
  //Insert Command
  ins_cmd := OleDbCommand.Create();
  ins_cmd.CommandType := CommandType.StoredProcedure;
  ins_cmd.CommandText := 'GFC_M_INSERT';
  ins_cmd.Connection := gf_conn;

  ins_cmd.Parameters.Clear;
  ins_cmd.Parameters.Add('@GFC_M_NAME', OleDbType.VarWChar, 100, 'GFC_M_NAME');
  ins_cmd.Parameters.Add('@GFC_M_AKTIV', OleDbType.Boolean, 1, 'GFC_M_AKTIV');
  ins_cmd.Parameters.Add('@GFC_M_OUT', OleDbType.Boolean, 1, 'GFC_M_OUT');
  ins_cmd.Parameters.Add('@GFC_M_USER_NAME', OleDbType.VarWChar, 50, 'GFC_M_USER_NAME');
  ins_cmd.Parameters.Add('@GFC_M_USER_TXT', OleDbType.LongVarWChar, 16, 'GFC_M_USER_TXT');
  ins_cmd.Parameters.Add('@GFC_M_USER_DATE', OleDbType.DBTimeStamp, 4, 'GFC_M_USER_DATE');

  ins_par := ins_cmd.Parameters.Add('@Identity', OleDbType.Integer, 4, 'ID');
  ins_par.Direction := System.Data.ParameterDirection.Output;
  ins_par.SourceColumn := 'ID';
  ins_par.SourceVersion := DataRowVersion.Current;
wie kann ich jetzt sicher sein das meine Daten auch eingetragen werden (Stromausfall)
mit Transaction? aber wie und WO?
Wann setze ich ein Commit und wann ein Rollback?

Homer
  Mit Zitat antworten Zitat