Ver Mensaje Individual
  #6  
Antiguo 29-08-2010
Avatar de TheJHorse
TheJHorse TheJHorse is offline
Miembro
 
Registrado: dic 2005
Posts: 13
Reputación: 0
TheJHorse Va por buen camino
SQL: base de datos "db_prueba"
La tabla
Código SQL [-]
CREATE TABLE tbl_persona
(
  codigo INT IDENTITY(1,1) NOT NULL PRIMARY KEY,
  nombre VARCHAR(25)
)

un storeprocedure para registrar personas
Código SQL [-]
CREATE PROCEDURE spNuevaPersona
  @vcNombre VARCHAR(25),
  @iRetorno INT OUTPUT
AS
  INSERT INTO tbl_persona (nombre) VALUES (@vcNombre)
  
  SET @iRetorno = @@IDENTITY -- Retornamos el codigo de la persona
GO

En Delphi
Código Delphi [-]
acConeccion: TADOConnection;
spProcedimiento: TADOStoredProc;
Código Delphi [-]
procedure TForm1.Button1Click(Sender: TObject);
var
  iResultado: Integer;
begin
  acConeccion.ConnectionString := 'Provider=SQLNCLI.1;Persist Security Info=False;User ID=USUARIO;Password=PASSWORD;Initial Catalog=db_prueba;Data Source=.';

  try
    acConeccion.Open();
  except
    Application.Terminate();
  end;

  spProcedimiento.Close;
  spProcedimiento.Prepared := false;
  spProcedimiento.ProcedureName := 'spNuevaPersona';
  spProcedimiento.Parameters.Refresh;

  spProcedimiento.Parameters.ParamByName('@vcNombre').Value := 'Angeluz';
  spProcedimiento.Parameters.ParamByName('@iRetorno').Value := 0;
  spProcedimiento.Prepared := true;
  spProcedimiento.ExecProc();

  iResultado := spProcedimiento.Parameters.ParamByName('@iRetorno').Value;

  acConeccion.Close();

  Application.MessageBox(PChar('Codigo generado: ' + IntToStr(iResultado)), 'Resultado', 0);
end;
__________________
PhC Rulez
Responder Con Cita