我的应用中包含以下代码。但是它返回双或三插入行。我想防止在我的应用中出现两次插入。但是我不知道如何。您可以检查我的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
谢谢...