تقييم الموضوع :
  • 0 أصوات - بمعدل 0
  • 1
  • 2
  • 3
  • 4
  • 5
مثال الاسماء في صفحة من جدول وتفاصيلها في صفحة اخرى من جدول آخر
#1
بسم الله الرحمن الرحيم
السلام عليكم ورحمة الله وبركاته
موضوعي اليوم عن اظهار اسماء من جدول tbnames في الصفحة الاولى ثم تفاصيل كل اسم بصفحة اخرى
الجدول الاول tid,tname
الجدول الاخر tbdetails
tid,tid_tbnames,age,****mail,mobile
العمود الثاني ليحمل رقم المعرف من العمود الاول في الجدول الاول

اظن انواع البيانات سهلة وما يحتاج ايضاح
لنذهب الان الى فيجوال استوديو وننشي موقع جديد ثم نضيف مجلد App_data لنضع فيه قاعدة البيانات ثم نضيف السطر التالي الى ملف التكوين web.config
كود :
    <add name="str" connectionString="provider=microsoft.ace.oledb.12.0;data source=|datadirectory|\db.accdb"/>
هذا تضعه ضمن مجموعة او وسم <connectionstrings>

اي بين <connectionStrings>

و

</connectionStrings>

ليكون هكذا
كود :
<connectionStrings>
    <add name="str" connectionString="provider=microsoft.ace.oledb.12.0;data source=|datadirectory|\db.accdb"/>
</connectionStrings>
ثم تضيف ملف كلاس وتقوم بتحويله الى موديول وذلك باستبدال جملة
كود :
Public class class1

end class

تستبدلها بـ
كود :
Public Module module1

End Module

لتكون هكذا
كود :
Public Module module1
    Public con As New Data.OleDb.OleDbConnection(ConfigurationManager.ConnectionStrings("str").ConnectionString)
End Module

الان الاتصال جاهز لكن قبل ان نكتب اي كود سنضيف "div" وضيفته ان يحضن اداة هايبرلينك نربطها بالاسم من الجدول الاول ..اذهب لمصدر الصفحة وليس الكود وضمن الـ div الرئيسي ضع هذا الـ div
كود :
<div id="t" runat="server"></div>
    </div>
ثم بحدث تحميل الصفحة الاولى نكتب الكود
كود :
If Not IsPostBack Then
            Dim cm As New Data.OleDb.OleDbCommand("select * from tbnames", con)

            If con.State = Data.ConnectionState.Closed Then
                con.Open()
            End If
            Dim dr As Data.OleDb.OleDbDataReader = cm.ExecuteReader
            Do While dr.Read
                Dim lbl As New HyperLink
                With lbl
                    .Text = dr.Item("tname") & "<br />"
                    .NavigateUrl = "~\default2.aspx?id=" & dr.Item("tid") & "&n=" & dr.Item("tname")
                End With
                t.Controls.Add(lbl)

            Loop

        End If

اول شرط معناه ان كانت الصفحة تم اعادة تحميلها لن يظهر او يطلب بيانات من القاعدة.
في حدث تحميل الصفحة الاخرى
كود :
If Not IsPostBack Then
            Dim cm As New Data.OleDb.OleDbCommand("select * from tbdetails where tid_tbnames=" & Request.QueryString("id") & "", con)

            If con.State = Data.ConnectionState.Closed Then
                con.Open()
            End If
            Dim dr As Data.OleDb.OleDbDataReader = cm.ExecuteReader
            If dr.Read Then
                tname.Text = Request.QueryString("n")
                age.Text = dr.Item("age")
                sex.Text = dr.Item("sex")
                mail.Text = dr.Item("mail")
                mobile.Text = dr.Item("mobile")

            End If
            dr.Close()
        End If
الصور


المثال مرفق
واي سؤال اسال


الملفات المرفقة
.zip   qs.zip (الحجم : 18.27 ك ب / التحميلات : 90)
}}}
تم الشكر بواسطة: ola



التنقل السريع :


يقوم بقرائة الموضوع: بالاضافة الى ( 1 ) ضيف كريم