PDA

View Full Version : سوال: تمام ثبت هام رکورد مورد نظر رو درج می کنه .اما یه رکورد خالی هم درج می کنه



shocraneh
یک شنبه 01 آذر 1388, 01:30 صبح
تمام ثبت هام رکورد مورد نظر رو درج می کنه (بعضی اوقات فکر کنم درست بود ). اما یه رکورد خالی هم درج می کنه .(فیلد id ,autonumber است )مثل

Protected Sub Page_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load

End Sub

Protected Sub Btnsave_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles Btnsave.Click
Try
LblAlart.Text = ""

Dim priority As Integer = Val(Txtpriority.Text)
Dim cn As New OleDbConnection(strCnn)
Dim strlink As String = "Insert into Tblnews(newstitr,newsmatn,newspriority) Values (@titr,@matn,@priority)"
Dim Cmd As New OleDbCommand(strlink, cn)
Cmd.Parameters.AddWithValue("@titr", Txttitr.Text)
Cmd.Parameters.AddWithValue("@matn", Txtmatn.Text)
Cmd.Parameters.AddWithValue("@priority", priority)
cn.Open()
Cmd.ExecuteNonQuery()
cn.Close()
clear()
Catch
LblAlart.Visible = True
LblAlart.Text = "در اجرا خطا رخ داده است "
End Try
End Sub
فکر کنم دلیلش refresh صفحه هنگام فشردن کلید است .از page.ispostback هم نمیشه استفاده کرد
لطفا عجله دارم

Chabok
یک شنبه 01 آذر 1388, 09:17 صبح
با سلام

رویداد Click یک Button هنگامی رخ می دهد که فرم شما توسط این کلید submit شود .
و این یعنی postback
و در این صورت اگر صفحه Refresh شود عملیات ثبت مجدداً انجام می شود .

می توانید پس از ثبت اطلاعات در بانک ، توسط Response.Redirect صفحه جاری را از نو Load کنید .
که دیگر مقادیر ارسال شده توسط کلید وجود نداشته باشند .


...
cn.Open()
Cmd.ExecuteNonQuery()
cn.Close()
Response.Redirect("MyPage.aspx")

shocraneh
یک شنبه 01 آذر 1388, 11:30 صبح
ممنونم . خودم متوجه شدم .اینجوری حلش کردم. با تشکر
Server.Transfer("addnews.aspx")