답변이 너무 늦은 건 아닌지 모르겠지만, 저는 delphi 를 쓰다 보니 C#은 잘 모르겠습니다.
어쨌건 comName 에 unique index를 걸어 두시면, 같은 이름으로는 insert 되지 않습니다.
그래서 delphi 같으면 (syntax 는 정확하지 않습니다)
try
SQL.Text := 'insert into ... ' ;
execsql;
except
// 같은 이름이 이미 존재할 때 처리하는 방법
end;
처럼 해결하는 방법도 있습니다. 아마 아래 try.. catch 문이 같은 것 아닐까 생각합니다.
입문자 님이 쓰신 글 :
: 안녕하세요?
: DB초보자 입니다.
: C#과 FireBird를 이용해서 프로그램을 하고있는데요 PK로 index가 있고, 자동 증가 시켜서 문제없이 하고 있습니다.
: 다른 필드는 중복되어도 되는데, ComName은 중복이 되면 안되서요..
: INSERT INTO table_name(index, aa, bb, cc, ComName) VALUES("GEN_ID(seq_index, 1), 'aa', 'bb', 'cc', 'comName');
: 이런식으로 DB에 추가해주는데요 문제는 comName이 중복이 되는지 체크하고, 중복이 안되면 넣고, 중복이 되면 표시를 해줘야합니다ㅜ
:
: comName도 PK로 선언하고, try catch문으로 중복이 되는 오류에 대해 프로그래밍을 해야하나요?
: 검색해서 하게 되면 DB에 자료가 많으면 시간이 많이 걸릴꺼같고요..
:
: 중복을 확인하는 sql문이 있을까요? 아니면 다른 좋은 방법이 없을까요?ㅜㅜ
:
: 혼자 힘으로 해결하려다가 DB는 초보자라.. 검색을 해도 잘 모르겠어서 질문 남깁니다!
: 감사합니다!
|