C# winforms 및 SQL 서버와 LINQ to SQL의 프로그램을 작성했습니다. 양식 대신 사용자 정의 컨트롤을 사용합니다. 내 사용자 정의 컨트롤에서 3 텍스트 상자, txtStartNumber, txtEndNumber, txtQuantity 넣습니다. 사용자가 텍스트 상자의 값을 정의하면, 버튼을 클릭하면 txtQuantity의 값에 따라 일부 레코드가 삽입됩니다.데이터베이스에 중복 레코드를 추가 한 후 메시지 표시
중복 번호가 생성되면 데이터베이스에 추가하고 메시지를 표시하지 않겠습니다. 어떻게해야합니까? 코드 또는 서버 측에서 코드를 작성해야합니까? 나는 이것을 저장 프로 시저 또는 트리거에서 설정해야합니까?
private void btnSave_Click(object sender, EventArgs e)
{
long from = Convert.ToInt64(txt_barcode_f.Text);
long to = Convert.ToInt64(txt_barcode_t.Text);
long quantity = Convert.ToInt64(to - from);
int card_Type_ID=Convert.ToInt32(cmb_BracodeType .SelectedValue);
long[] arrCardNum = new long[(to - from)];
arrCardNum[0]=from;
for (long i = from; i < to; i++)
{
for(int j=0; j<(to-from) ;j++)
{
arrCardNum[j]=from+j;
string r = arrCardNum[j].ToString();
sp.SaveCards(r, 2, card_Type_ID, SaveDate, 2);
}
}
}
저장 프로 시저 코드.
ALTER PROCEDURE dbo.SaveCards
@Barcode_Num int
,@Card_Status_ID int
,@Card_Type_ID int
,@SaveDate varchar(10)
,@Save_User_ID int
AS
BEGIN
INSERT INTO [Parking].[dbo].[TBL_Cards]
([Barcode_Num]
,[Card_Status_ID]
,[Card_Type_ID]
,[Save_User_ID])
VALUES
(@Barcode_Num
,@Card_Status_ID
,@Card_Type_ID
,@Save_User_ID)
END
을하는 데 도움이?. –