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

المساعدة في انشاء استعلام

مغلق
بدأه I_s في 18 أكتوبر 2007 · 1 رد · 482 مشاهدة · في قواعد بيانات Microsoft Access
مشاركة: واتساب X فيسبوك تيليجرام
#1 صاحب الموضوع

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

اخوتي الكرام اعضاء المنتدى

كل عام وانتم بخير

ارجو منكم جميعا المساعدة فانا في اشد الحاجة اليها حيث اعمل على مشروع لابد لي من تسليمه خلال ايام

تواجهني في هذا المشروع عقبة الا وهي انه لدي جدول

edges (parent_id,child_id)

يحتوي هذا الجدول على حقلين

Parent_id: يمثل النقطة الأب

child_id :يمثل النقطة التابعة لها في العلاقة

المطلوب في هذا المثال ان اجد المسارات بمعنى انه لو عندي

parent_id child_id

p1 p2

p1 p3

p1 p4

p2 p5

p2 p7

p3 p15

p4 p25

تصبح المسارات المتاحة لدينا هي

p1,p2,p5

p1,p2,p7

p1,p3,p15

p1,p4,p25

لذلك قممت بانشاء جدول اسمه path

هذا الجدول بناء على استعلام

select * from edges;

ثم قمت بالعمل على الناتج

   sql = "select parent_id,child_id from edges"
   ' MsgBox(sql)
   conn.Open()
   cmd = New OleDbCommand(sql, conn)
   dr = cmd.ExecuteReader

   While dr.Read
	Dim path As String = dr.Item(0) & "," & dr.Item(1)
	'   MsgBox(path)
	Dim sql1 As String = " insert into path values('" & dr.Item(0) & "','" & dr.Item(1) & "','" & path & "')"
	If con.State = ConnectionState.Closed Then
	 con.Open()
	End If
	cmd1 = New OleDbCommand(sql1, con)
	cmd1.ExecuteNonQuery()
   End While
   cmd1.Dispose()
   con.Close()
   conn.Close()

ثم للوصول للنتيجة النهائية كتبت هذا الاستعلام والذي قرأته في مثال تمت كتابته في mysql

ولكنه لم يعطني اي نتائج

sql = "SELECT path.node_id, edges.child_id FROM path, edges WHERE path.child_id=edges.parent_id"
   '  MsgBox(sql)
   conn.Open()
   cmd = New OleDbCommand(sql, conn)
   dr = cmd.ExecuteReader
   If Not dr.Read Then
	MsgBox("no result pathes")
   End If

   While dr.Read
	Dim pathes As String = dr.Item(2) & "," & dr.Item(1)

	Dim sql1 As String = "insert into pathes values('" & pathes & "')"
	MsgBox(sql1)
	con.Open()
	cmd1 = New OleDbCommand(sql1, con)
	cmd1.ExecuteNonQuery()

مع العلم ان الكود الاصلي المكتوب بال mysql مكتوب كالتالي

CREATE OR REPLACE VIEW nextroutes AS
  SELECT
 routes.depart,
 flights.arrive,
 CONCAT(routes.route, ',', flights.arrive) AS route,
  FROM routes INNER JOIN flights
 ON routes.arrive = flights.depart
 GROUP BY depart,arrive;

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

ولكم جزيل الشكر

تم تعديل هذه المشاركة بواسطة I_s في 18 أكتوبر 2007 في 23:36

#2

أخي الكريم

هذا الموضوع يتم طرحه في قسم VB.Net وهناك ستجد الإجابة بإذن الله

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

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