mostafa_tak2000
جمعه 07 شهریور 1393, 13:48 عصر
سلام به همه دوستان
مشکل من اینجاست که در یکی از سایتهایم برای اینکه مقادیر متغییر را در طول کار کاربر نگهداری نمایم در کلاس اصلی متغییری ساختم مانند دستور زیر
Public Shared name As String
به طور مثال من قبل از اینکه کاربر وارد فرم ثبت نام شود خواستم که نامش را وارد نموده روی دکمه کلیک کند این دکمه نام کاربر را در این متغییر ریخته ودر فرم بعد در تکس باکس مربوطه نمایش داده میشود. و کاربر اطلاعات بعدی فرم را تکمیل و ذخیره می شود . به نظر من هیچ مشکلی نداشتم و روال کار عملا هم صحیح بود ولی مشکل روزی پیدا شد که کاربران مختلف از نقاط مختلف کشور در سایت ثبت نام کردند و چند روز بعد بعضی از کاربران تماس میگرفتند که مشخصات من همه درست است ولی نام ونام خانوادگی برای من نیست . وقتی پیگیر شدم و بررسی کردم متوجه شدم که مثلا کاربر A در این زمان نام خود را وارد کرده مثلا محمد و رفته فرم بعد را تکمیل کند در این زمان کاربر B وارد فرم اول شده و نام خود را وارد کرده مینا و ایشان نیز وارد فرم ثبت نام شده هردوی ایشان با فشردن دکمه ثبت نام ثبت نام شده اند ولی جالب اینجاست که نام کاربر A مینا ذخیره شده و کاربر B هم مینا می باشد مگر بعد از کاربر B کاربر C نیز وارد شده باشد و نام دیگری ثبت نماید .
دوستان میشه بگید مشکل من کجا بوده ؟ آیا وقتی کاربری وارد سایت میشود و مقداری را به متغییر ی میدهد این مقدار بعداز وارد شدن کاربر دیگری به سایت قابل تغییر است . من نمونه کد زیر را نیز برای بررسی بیشتر دوستان خدمتتون ارسال میکنم
Imports System.Data.SqlClient
Public Class connection
Public Shared Function ExcecutNonQuery2(ByVal sqlstr As String) As Integer
Dim mconnection As SqlConnection = New SqlConnection(System.Configuration.ConfigurationMa nager.ConnectionStrings("DBConnectionString").ToString)
Dim cmd As New SqlCommand(sqlstr, mconnection)
Dim retval As Integer
mconnection.Open()
Try
retval = cmd.ExecuteNonQuery()
Catch ex As Exception
End Try
Return retval
End Function
Public Shared Function addtest(cod As Integer) As Integer
Return ExcecutNonQuery2("insert into sex (idsex) values ('" & cod & "')")
End Function
Public Shared name As String
End Class
مشکل من اینجاست که در یکی از سایتهایم برای اینکه مقادیر متغییر را در طول کار کاربر نگهداری نمایم در کلاس اصلی متغییری ساختم مانند دستور زیر
Public Shared name As String
به طور مثال من قبل از اینکه کاربر وارد فرم ثبت نام شود خواستم که نامش را وارد نموده روی دکمه کلیک کند این دکمه نام کاربر را در این متغییر ریخته ودر فرم بعد در تکس باکس مربوطه نمایش داده میشود. و کاربر اطلاعات بعدی فرم را تکمیل و ذخیره می شود . به نظر من هیچ مشکلی نداشتم و روال کار عملا هم صحیح بود ولی مشکل روزی پیدا شد که کاربران مختلف از نقاط مختلف کشور در سایت ثبت نام کردند و چند روز بعد بعضی از کاربران تماس میگرفتند که مشخصات من همه درست است ولی نام ونام خانوادگی برای من نیست . وقتی پیگیر شدم و بررسی کردم متوجه شدم که مثلا کاربر A در این زمان نام خود را وارد کرده مثلا محمد و رفته فرم بعد را تکمیل کند در این زمان کاربر B وارد فرم اول شده و نام خود را وارد کرده مینا و ایشان نیز وارد فرم ثبت نام شده هردوی ایشان با فشردن دکمه ثبت نام ثبت نام شده اند ولی جالب اینجاست که نام کاربر A مینا ذخیره شده و کاربر B هم مینا می باشد مگر بعد از کاربر B کاربر C نیز وارد شده باشد و نام دیگری ثبت نماید .
دوستان میشه بگید مشکل من کجا بوده ؟ آیا وقتی کاربری وارد سایت میشود و مقداری را به متغییر ی میدهد این مقدار بعداز وارد شدن کاربر دیگری به سایت قابل تغییر است . من نمونه کد زیر را نیز برای بررسی بیشتر دوستان خدمتتون ارسال میکنم
Imports System.Data.SqlClient
Public Class connection
Public Shared Function ExcecutNonQuery2(ByVal sqlstr As String) As Integer
Dim mconnection As SqlConnection = New SqlConnection(System.Configuration.ConfigurationMa nager.ConnectionStrings("DBConnectionString").ToString)
Dim cmd As New SqlCommand(sqlstr, mconnection)
Dim retval As Integer
mconnection.Open()
Try
retval = cmd.ExecuteNonQuery()
Catch ex As Exception
End Try
Return retval
End Function
Public Shared Function addtest(cod As Integer) As Integer
Return ExcecutNonQuery2("insert into sex (idsex) values ('" & cod & "')")
End Function
Public Shared name As String
End Class