Private Function StoreCouponCode() As String
Dim con As New SqlConnection(ConfigurationManager.ConnectionStrings("DBConnectionString").ConnectionString)
Dim sql As New SqlCommand("", con)
Dim sqlGetSlNo As New SqlCommand("SELECT MAX(SlNo) FROM Coupons WHERE CustID=" & Convert.ToInt16(HFCustID.Value) & " AND BusiID=" & Convert.ToInt16(HFBusiID.Value) & " AND OfferID=" & Convert.ToInt16(HFOfferID.Value), con)
Dim sNo, UserID, couponCode, offerCheck As String
Dim slNo As Int16
Try
UserID = getCurrentUserID()
con.Open()
sNo = Convert.ToString(sqlGetSlNo.ExecuteScalar) fteches latest serial no for the coupon
If sNo = "" Then
slNo = 0
Else
slNo = Convert.ToInt16(sNo) + 1
End If
couponCode = MakeCouponCode(slNo)
offerCheck = couponCode.Substring(13, 3)
sql.CommandText = "INSERT INTO Coupons VALUES (" & _
HFCustID.Value & "," & HFBusiID.Value & "," & HFOfferID.Value & ", " & _
Today.Date & " ," & Convert.ToString(slNo) & "," & offerCheck & ", " & couponCode & " , " & _
UserID & " ," & LblPayInAdv.Text & "," & LblPayLater.Text & ", " & Convert.ToString(Date.Now) & " )"
sql.ExecuteNonQuery()
con.Close()
Catch ex As Exception
couponCode = "N/A"
Finally
con.Dispose()
sql.Dispose()
End Try
Return couponCode
End Function
Protected Sub CmdGetCoupon_Click(ByVal sender As Object, ByVal e As System.Web.UI.ImageClickEventArgs) Handles CmdGetCoupon.Click
If User.Identity.Name = "" Then
LblMessage.Text = "You need to login first!"
Exit Sub
End If
Dim couponCode As String = StoreCouponCode()
Response.Redirect("~/Coupon.aspx?CouponCode=" & couponCode, True)
End Sub
用户点击<代码> CmdGetCoupon 有时需要调整方向。 CmdGetCoupon不止一次,导致从单一用户账户产生多重政变。
我愿发表一个信息,即“在你共同发誓时,请瓦伊特”,并解脱<代码>。 CmdGetCoupon 因此,用户不能多次点击......。 任何想法? 如何做到这一点?