我用 C# winforms 和 SQL server 和 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