0

net、razor、webmatrix、.cshtml ページの操作。

jQuery を使用してモーダル フォームを開き、そのフォームを使用してデータを SQL データベース (SQLExpress 2012) に挿入しています。次のコードを使用して重複するエントリを制限しようとしていますが、代わりに Web ページ [object XMLHttpReques] からメッセージを取得します。

AddDiscount.cshtml コードは次のとおりです。

@{


   if(IsPost){

        var db = Database.Open("A-LensCatFE-01SQL") ; 

        var CCode=UrlData[0];

        var Q1 = "SELECT * FROM dbo.tblPromos WHERE CustomerCode =@0";
        var ds = db.ExecuteDataSet(Q1, CCode);

        if(ds.Tables.Count > 0 && ds.Tables[0].Rows.Count > 0)
          {
                 MessageBox.Show("Duplicates");
          }
        else
        {
        var sql = "INSERT INTO dbo.tblPromos (CustomerID, CustomerCode,  Discount, VAT, VATRate, iScription, SRPBasedOn)" + 
            "VALUES (@0, @1, @2, @3, @4, @5, @6)";

        var customerid = Request["customerid"];
        var customercode = Request["customercode"];
        var discount = Request["discount"];
        var vat = Request["vat"] == "on" ? true : false;
        var vatrate = Request["vatrrate"];
        var iscription = Request["iscription"];
        var srpbasedon = Request["srpbasedon"];

        db.Execute(sql, customerid, customercode,  discount, vat, vatrate, iscription, srpbasedon);

        }
       }
 }

あなたの助けが必要です、どうもありがとう。

ストアド プロシージャ コードは次のとおりです。

手順の作成 dbo.spDiscDup

@CustomerID int =NULL,
@CustomerCode nvarchar(max)=NULL,
@Discount decimal(5,2)=NULL,
@VAT bit =NULL,
@VATRate decimal (5,2)=NULL,
@iScription money=NULL,

    AS
    BEGIN
IF EXISTS(SELECT * FROM tblPromos WHERE CustomerCode=@CustomerCode)
 ("Duplicates")
  ELSE
 INSERT INTO dbo.tblPromos (CustomerID, CustomerCode,  Discount, VAT, VATRate,            iScription, SRPBasedOn)" + 
          "VALUES (@0, @1, @2, @3, @4, @5, @6)

エンドゴー

4

1 に答える 1

0

ストアドプロシージャを使用して、挿入する前にレコードが存在するかどうかを確認してください。

If not exist 
 Then insert it
Else
 Return -1 -- means records exist/ Your prefer Msg/ any number
于 2013-05-20T12:24:14.507 に答える