2011-02-12 5 views
0

저장 프로 시저를 작성했습니다. 특정 레코드가 세 번 이상 반복되었는지 여부를 먼저 확인합니다. 예라면 새 레코드를 삽입하지 않아야합니다. 그렇지 않으면 데이터베이스에 레코드를 삽입해야합니다. .저장 프로 시저 삽입 여부를 확인

이제 if 조건에 삽입 쿼리가 생겼습니다. 삽입 쿼리가 성공적으로 실행되었는지 여부를 어떻게 알 수 있는지 알고 싶습니다. IF 문이 실패하면 삽입 쿼리를 실행하지 않을 것이고, else 문에 무엇을 써야하기 때문에 삽입 쿼리가 실행되었는지 여부를 알 수 있습니다.

VB.Net을 프런트 엔드로 사용하고 있습니다 ... 삽입 쿼리가 실행되는 것을 어떻게 알 수 있는지 조건을 알려주십시오.

감사 압바스 Elecrticwala는

답변

1

당신은 삽입에 따라 비트 값을 반환 할 수 있습니다. 추천

create proc myproc
-- your variables here
as
begin
if (your condition)
begin
your insert query
select '1'
end
else

select '0'
end
end

당신이 VB에서 결과를 확인 할 수 있으며,이 비트 값에 따라 알 수 985,.

+0

실제로 storedprocedure를 실행하기 위해 이미 sqlcommand를 사용하고 있습니다. executenonquery 내에서만 레코드 삽입 여부를 확인할 수 있습니다. – Abbas

+0

당신의 프로 시저에 업데이트 또는 삭제 쿼리가 없으면 삽입 만하면 executenonquery를 사용하여 영향을받는 행 수를 얻을 수 있습니다. 결과가 -1이면 삽입 또는 업데이트 또는 삭제가 발생하지 않았 음을 의미합니다. 여기에 msdn 페이지에 대한 자세한 내용 http://msdn.microsoft.com/en-us/library/system.data.sqlclient.sqlcommand.executenonquery.aspx – futile

+0

하지만 당신이 내가 쓴 것처럼 프로 시저를 사용하기로 결정한다면 내 대답, 당신은 startscalar 사용해야합니다. 결과가 1이면 삽입이 발생하고 0이면 삽입되지 않습니다. – futile