الفريق العربي للبرمجةأرشيف المنتديات · 2000 – 2023
نسخة أرشيفية للقراءة فقط — التسجيل والمشاركة مغلقان، والمحتوى محفوظ كما كان.

مشكله في تحديث البيانات!

مغلق
بدأه سلطان الحمدان في 10 أكتوبر 2004 · 6 رد · 1,023 مشاهدة · في ASP.NET
مشاركة: واتساب X فيسبوك تيليجرام
#1 صاحب الموضوع

السلام عليكم ورحمة الله وبركاته

واجهتني مشكله عندما اقوم بعمل تحديث للمعلومات او تعديل وهي كالتالي

انا لما اريد التعديل على موضوع معين اقوم بسحب المعلومات من قاعدة البانات وعرضها على Textbox حتي يقدر المستخدم يقرأ البيانات القديمه ويعمل التحديث والتعديل عليها

-المشكلة اللي صارت هي-

اني لما اعمل تعديل واسوي حفظ ينفذ امر التحديث صح ولكن ماياخذ الا البيانات اللي قبل التعديل يعني يحفظ النص الاصلي فقط مع اني اعدل داخل textbox

وهذا الكود:

Private Sub Page_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
    
            Dim strCn1 As String
            strCn1 = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & Server.MapPath("news.mdb")
            Dim cn1 As New OleDbConnection(strCn1)
            cn1.Open()
            Dim comm1 As New OleDbCommand
            Dim read1 As OleDbDataReader
            comm1.CommandText = "select title,new from news where id=" & Request.QueryString("ID")
            comm1.Connection = cn1
            read1 = comm1.ExecuteReader
            read1.Read()
            TextBox1.Text = read1("title")
            TextBox2.Text = read1("new")
            cn1.Close()
    End Sub


    Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
        Try
            Dim strCn As String
            strCn = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & Server.MapPath("news.mdb")
            Dim cn As New OleDbConnection(strCn)
            cn.Open()
            Dim comm As New OleDbCommand
                comm.CommandText = "update news set wname = '" & Session("username") & "' , title = '" & TextBox1.Text & "' , new = '" & TextBox2.Text & "', N_date = '" & Now() & "' where id ='" & Request.QueryString("ID") & "'"
            comm.Connection = cn
            comm.ExecuteNonQuery()
            
                cn.Close()

        Catch ex As Exception

            response.write("Error!!")
    
        End Try
    End Sub

تحياتي للجميع

#2

خطأ شائع يقع به الكثيرون ..

الحل هو استخدامPage. IsPostBack

من أجل التأكد من إعادة ربط البيانات من جديد عند تحميل الصفحة و يمكنك الإستزادة من هنا

http://www.w3schools.com/aspnet/aspnet_events.asp

طبعا في المثال الموضح في الصفحة يجب أن تضع بدل جملة الكتابة جملة لل DataBinding كي تقوم بالربط من جديد مع البيانات ..

بالتوفيق

You can fly while you can touch the sky

#3

اهلا عزيزي محمد

المشكلة ليست مشكلة ربط الببانات فانا اخذت البيانات من الداتا بيز ووضعتها في textbox عند تحميل الصفحه

ولكن عندما اقوم باضافه على النص الموجود في textbox واعمل حفظ مايحفظ التعديل ويعتبر قيمة textbox هي القيمة اللي حملتها فيه عند تحميل الصفحه فالبدايه

يعني في كود update هذا قيمة textbox لم تتغير مع اني عملت لها تغيير

 comm.CommandText = "update news set wname = '" & Session("username") & "' , title = '" & TextBox1.Text & "' , new = '" & TextBox2.Text & "', N_date = '" & Now() & "' where id ='" & Request.QueryString("ID") & "'"

ارجو ان تكون المشكله واضحة

تحياتي سلطان الحمدان

#4

ان هذه المشكلة تحد ث لأن الحدث Load يتنفذ قبل الحدث Click وهذه يعني ان المعلومات القديمة تنفذ قبل المعلومات تؤخد من قاعدة البيانتا ثم يقوم البرنامج بتحديث ثاعدة البيانات

الحل بالتاكيد هو اخد الملعومات من قاعدة البيانت بعد الحديث ضمن الحدث click

Private Sub Page_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
           
          If Not IsPostBack Then
                BindControls()
           End
   
             End Sub


   Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
       Try
           Dim strCn As String
           strCn = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & Server.MapPath("news.mdb")
           Dim cn As New OleDbConnection(strCn)
           cn.Open()
           Dim comm As New OleDbCommand
               comm.CommandText = "update news set wname = '" & Session("username") & "' , title = '" & TextBox1.Text & "' , new = '" & TextBox2.Text & "', N_date = '" & Now() & "' where id ='" & Request.QueryString("ID") & "'"
           comm.Connection = cn
           comm.ExecuteNonQuery()
           
               cn.Close()

       Catch ex As Exception

           response.write("Error!!")
   
       End Try
        BindControls()

   End Sub

Private Sub BindControls()

 Dim strCn1 As String
           strCn1 = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & Server.MapPath("news.mdb")
           Dim cn1 As New OleDbConnection(strCn1)
           cn1.Open()
           Dim comm1 As New OleDbCommand
           Dim read1 As OleDbDataReader
           comm1.CommandText = "select title,new from news where id=" & Request.QueryString("ID")
           comm1.Connection = cn1
           read1 = comm1.ExecuteReader
           read1.Read()
           TextBox1.Text = read1("title")
           TextBox2.Text = read1("new")
           cn1.Close()


End Sub

وحدن بيبقو متل زهر البيلسان وحدهن بيقطفو وراق الزمان

بيسكرو الغابي بيضلهن متل الشتي يدقوا على بوابي على بوابي

يا زمان يا عشب داشر فوق هالحيطان ضويت ورد الليل عكتابي

برج الحمام مسور و عالي هج الحمام بقيت لحالي لحالي

يا ناطرين التلج ما عاد بدكن ترجعو صرخ عليهن بالشتي يا ديب بلكي بيسمعو

http://www.mazikana.com/Songs/F/Fayrouz/mp...uz---Wahdon.mp3

#5

مشكور كل الشكر عزيزي DotNetExpert

والحمد لله تمت المهمه

الله يعطيك العافية

تحياتي الحارة للجميع

#6

سبحان الله مع أن جواب الأخ DotNetExpert عن ال IsPostBack :)

عموما شكرا للأخ على الإجابة و ما شاء الله له نشاط في القسم نتمناله التوفيق ;)

You can fly while you can touch the sky

#7

استااااذي وعزيزي الفاضل محمد خليل

اولا اشكرك جل الشكر لمرورك هنا وصدقني كانت المشكله اني ام اضع هذا الكود

If Not IsPostBack Then

ومجرد ماوضعته نفذت والحمد لله

يمكن الاستاذ dotnetexpert كان اوضح لانه ادخل تعديلا على الكود نفسه

انا اسف إن لم يكن سوالي واضح

وصدقني زرت متصفحك الذي وضعته مشكورا ولكن لم افهمه جيدا

ولم تكن المشكله من ربط البيانات

ونحن هنا نطلب العلم ولامجال للمحاباة هنا

تحياتي وشكري وامتناني

تم تعديل هذه المشاركة بواسطة سلطان الحمدان في 12 أكتوبر 2004 في 14:53

هذا الموضوع مغلق.

مواضيع مشابهة