SQL查询将多行返回到我的应用程序

时间:2019-07-13 14:51:09

标签: sql sql-server

我的应用中包含以下代码。但是它返回双或三插入行。我想防止在我的应用中出现两次插入。但是我不知道如何。您可以检查我的SQL查询吗?

IF NOT EXISTS (SELECT TALEPID FROM DEVIR_TALEP_KUPURLU_TEKTEK  
               WHERE TALEPID = 1 
                 AND TORBABARKOD = N'43vv' 
                 AND DEVIR_TALEP = 110 
                 AND PARATURU = 1
                 AND KUPUR_TL_KR = N'1tl' 
                 AND ADET = -10 
                 AND CIT_BIRIMID = 64
                 AND TORBABARKOD IN (SELECT DISTINCT TORBABARKOD 
                                     FROM KUPUR_TALEP_TORBALAMA 
                                     WHERE TALEPID = 1
                                       AND UPDT_TORBABARKOD = N'43vv' 
                                       AND KUPUR_TL_KR = N'1tl' 
                                       AND ADET = 10 
                                       AND CIT_BIRIMID = 64 
                                       AND MUT_CITKABUL = 0 
                                       AND PARA_TURU = 1))
BEGIN
    UPDATE KUPUR_TALEP_TORBALAMA 
    SET MUT_CITKABUL = 1,
        MUT_CIT_ONAY_PERSONEL_ID = 12,
        MUT_CIT_ONAY_PERSONEL = 'tezer',
        MUT_CIT_ONAYTARIH = GETDATE() 
    WHERE ID = 33

    IF EXISTS(SELECT ID FROM BIRIMLER_MASTER_KASA 
              WHERE BIRIMID = 88 
                AND PARATURU = 1 
                AND KUPURTURU = 10 
                AND kupur_birim = N'tl' 
                AND KUPUR_TL_KR = N'1tl')
    BEGIN 
        UPDATE BIRIMLER_MASTER_KASA 
        SET ADET = ADET -10 
        WHERE BIRIMID = 453 
          AND PARATURU = 1 
          AND KUPURTURU = 10 
          AND kupur_birim = N'tl' 
          AND KUPUR_TL_KR = N'1tl'
    END 
    ELSE 
    BEGIN 
        INSERT INTO BIRIMLER_MASTER_KASA (BIRIMID, PARATURU, KUPURTURU, ADET, CIT_BIRIMID, bolen, kupur_birim, KUPUR_TL_KR) 
        VALUES (453, 1, 10, -10, 64, 1, 'tl', '10tl')
    END;

    INSERT INTO DEVIR_TALEP_KUPURLU_TEKTEK (MUS_ID, PARATURU, KUPUR, ADET, DEVIR_TALEP, ISLEMTARIHI,
                                            CIT_BIRIMID, bolen, kupur_birim, KUPUR_TL_KR, NM_merkez_kasa_giris_cikis_kod, 
                                            NM_merkez_kasa_giris_cikis, hangi_kasayaislendi, TALEPID, TORBABARKOD, sayfakod, kasaturu, vfv) 
    VALUES (23, 1, 10, -10, 110, GETDATE(),
            64, 1, 'tl', '1tl', 1,
            'NM de Müşteri Kasasından Çıkan Şube Talep' , 455, 12, '145254',1111111, '0', 698) 
END

这是在我的应用代码中。如果您要检查我的代码,U可以看到我的方法。如果您对我有任何建议,可以键入我。我的代码:

For Each sndr As GridViewRow In GridView1.Rows

            'atm kasaya yüklenen para , burada nm merkezden çıkış var


            Dim partr As HiddenField = sndr.FindControl("HiddenField15")
            Dim kupr As Label = sndr.FindControl("Label5")


            Dim adt As Label = sndr.FindControl("Label7")
            Dim nryid As HiddenField = sndr.FindControl("HiddenField16")

            Dim tlpid As HiddenField = sndr.FindControl("HiddenField21")
            talepidgnl = tlpid.Value
            Dim parabirim As Label = sndr.FindControl("Label6")
            Dim kprtl_kr As HiddenField = sndr.FindControl("HiddenField14")
            Dim bolen As HiddenField = sndr.FindControl("HiddenField8")
            Dim islemid As HiddenField = sndr.FindControl("HiddenField9") 'KUPUR_TALEP_TORBALAMA.ID id
            Dim torba As Label = sndr.FindControl("Label18")


            KASABUL(nryid.Value)
            If Session("birime_ait_kasa") = 0 Then

                baglikasabak(nryid.Value)
                If Session("birime_ait_kasa") = 0 Then

                    Page.ClientScript.RegisterStartupScript(Me.GetType(), "CallMyFunction", "hatacal('DİKKAT !!!  Birim Bir Kasaya Bağlı Değil Yöneticiniz ile Görüşünüz');", True)
                    Return False
                End If
            End If


            str = "if  NOT exists (select TALEPID FROM DEVIR_TALEP_KUPURLU_TEKTEK "
            str = str & " WHERE TALEPID=" & tlpid.Value & " AND TORBABARKOD=N'" & torba.Text & "' AND DEVIR_TALEP=510 AND PARATURU=" & partr.Value
            str = str & " AND KUPUR_TL_KR =N'" & kprtl_kr.Value & "' AND ADET=-" & adt.Text * 1 & " AND CIT_BIRIMID=" & Session("BIRIMID")
            str = str & " AND TORBABARKOD IN ( SELECT DISTINCT UPDT_TORBABARKOD FROM KUPUR_TALEP_TORBALAMA WHERE TALEPID=" & tlpid.Value
            str = str & " AND UPDT_TORBABARKOD=N'" & torba.Text & "' "
            str = str & " AND KUPUR_TL_KR =N'" & kprtl_kr.Value & "' AND ADET=" & adt.Text * 1 & " AND CIT_BIRIMID=" & Session("BIRIMID") & " AND MUT_CITKABUL=0 and PARA_TURU=" & partr.Value & "))"
            str = str & " begin "


            'BURASI 2


            str = str & " UPDATE KUPUR_TALEP_TORBALAMA set MUT_CITKABUL= 1,MUT_CIT_ONAY_PERSONEL_ID=" & Session("PERSONELID")
            str = str & " , MUT_CIT_ONAY_PERSONEL='" & Session("PERSONELADI") & "',MUT_CIT_ONAYTARIH=GETDATE() WHERE ID=" & islemid.Value & " and MUT_CITKABUL=0"
            'df.Rows.Add(str)



            'atm kasaya yüklenen para , burada nm merkezden çıkış var
            ' str = ""
            str = str & " IF EXISTS(SELECT ID FROM BIRIMLER_MASTER_KASA WHERE BIRIMID=" & Session("birime_ait_kasa") & " AND PARATURU=" & partr.Value & " AND KUPURTURU=" & kupr.Text & " and kupur_birim =N'" & parabirim.Text & "' and KUPUR_TL_KR=N'" & kprtl_kr.Value & "') BEGIN "
            str = str & " UPDATE BIRIMLER_MASTER_KASA SET ADET=ADET -" & adt.Text * 1 & " WHERE BIRIMID=" & Session("birime_ait_kasa") & " AND PARATURU=" & partr.Value & " AND KUPURTURU=" & kupr.Text & " and kupur_birim=N'" & parabirim.Text & "' and KUPUR_TL_KR=N'" & kprtl_kr.Value & "' END "

            str = str & " ELSE BEGIN insert BIRIMLER_MASTER_KASA (BIRIMID,PARATURU,KUPURTURU,ADET,CIT_BIRIMID,bolen,kupur_birim,KUPUR_TL_KR) VALUES(" & Session("birime_ait_kasa") & "," & partr.Value & "," & kupr.Text & ", - " & adt.Text * 1 & "," & Session("BIRIMID") & "," & bolen.Value & ",'" & parabirim.Text & "' ,'" & kprtl_kr.Value & "' ) End;"
            'df.Rows.Add(str)

            '0- taleplerde (110-510) nm_kasadan çıkan , 1 de ise devir(150) yada atm kasa boşalan dan nm_kasaya giren
            'devirde ise nm merkezine giriş


            '22
            'str = ""
            str = str & " INSERT DEVIR_TALEP_KUPURLU_TEKTEK (MUS_ID,PARATURU,KUPUR,ADET,DEVIR_TALEP,ISLEMTARIHI, CIT_BIRIMID,"
            str = str & " bolen,kupur_birim,KUPUR_TL_KR,NM_merkez_kasa_giris_cikis_kod,NM_merkez_kasa_giris_cikis,hangi_kasayaislendi,TALEPID,TORBABARKOD,sayfakod,kasaturu,vfv) "
            str = str & " VALUES ("
            str = str & nryid.Value & "," & partr.Value * 1 & ","
            str = str & kupr.Text * 1 & ",-" & adt.Text * 1 & ",510," 'atm mutabakat kapat sayfası yap
            str = str & " GETDATE()," & Session("BIRIMID")
            str = str & "," & bolen.Value
            str = str & ",'" & parabirim.Text & "' "
            str = str & ",'" & kprtl_kr.Value & "' "
            str = str & ",1"
            str = str & ",'NM de Müşteri Kasasından Çıkan ATM Yatan'," & Session("birime_ait_kasa")
            str = str & "," & tlpid.Value & ",'" & torba.Text & "',2222222" & ",'0',758"
            str = str & ")"
            str = str & " END else begin select 'yok' end "
            df.Rows.Add(str)
            str = ""
        Next

谢谢...

0 个答案:

没有答案