tratamento de erro

30/11/2005

1

Bom dia pessoal, estou com dificuldades para por tratamento de erro nessa rotina.. ou seja, estou querendo fazer o commit e rollback.. mas tudo que tentei não funcionou.. estou usando ado, sqlserver e delphi7

está aí minha rotina sem tratamento

begin
Reset(F);
MUNICIPIOS.Open;
while not eof(F) do
begin
Readln(F,xlinha);
xcp01:=copy(xlinha,2,4);
xcp02:=copy(xlinha,6,30);
strsql:=´execute importa_municipio ´+quotedstr(xcp01)+´,´+quotedstr(xcp02);
CNN.Execute(strsql);
GAUGE.Progress:=GAUGE.Progress+1;
end;
CloseFile(F);
LBLMENSAGEM.Caption:= ´Processo Finalizado!...´;
LBLMENSAGEM.Update;
MEMO.Lines.Add(´Quantidade de registros importados: ´+inttostr(i));
MUNICIPIOS.Close;
end;

a minha storedprocedure que eu chamo acima é a seguinte

CREATE PROCEDURE IMPORTA_MUNICIPIO
@CODIGO CHAR(4),
@NOME CHAR(30)
AS
IF NOT EXISTS(SELECT * FROM MUNICIPIOS WHERE MUNICIPIO_CODIGO=@CODIGO)
BEGIN
INSERT INTO MUNICIPIOS (MUNICIPIO_CODIGO,MUNICIPIO_NOME) VALUES (@CODIGO,@NOME)
END
ELSE
BEGIN
UPDATE MUNICIPIOS
SET
MUNICIPIO_CODIGO=@CODIGO,
MUNICIPIO_NOME=@NOME
WHERE
MUNICIPIO_CODIGO=@CODIGO
END
GO


obrigado pela ajuda


Responder