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

dataset لجداول مرتبطة

بدأه -الأمل- في 12 يونيو 2011 · 33 رد · 1,046 مشاهدة · في ASP.NET
مشاركة: واتساب X فيسبوك تيليجرام
#1 صاحب الموضوع

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

أريد أن أعرف بمثال كيف أقدر ابني dataset من عدة جداول مرتبطة ببعضها

#2

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

اختي يمكنك اضفة اكثر من جدول داخل ال DataSet من خلال DataAdapter.Fill اما بالنسبه للعلاقه يمكنك عملها بعد اضافة الجدولين عبر الفئة DataRelatio, شوفي الرابط التالي http://www.codeproject.com/KB/database/DataRelationExample.aspx

تم تعديل هذه المشاركة بواسطة VB Helper في 12 يونيو 2011 في 02:07

.:: Wish to become better and better ::.

#3
-الأمل- كتب:

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

أريد أن أعرف بمثال كيف أقدر ابني dataset من عدة جداول مرتبطة ببعضها

اختى ده مثال

Protected Sub Page_Load(sender As Object, e As System.EventArgs) Handles Me.Load
        Dim con As New SqlConnection(ConfigurationManager.ConnectionStrings("ConnectionString").ConnectionString)
        Dim sdap As New SqlDataAdapter("SELECT * FROM [ForumGroups] ORDER BY [OrderByNumber];SELECT * FROM [Forum] ORDER BY [OrderByNumber]", con)
        Dim ds As New DataSet()
        sdap.Fill(ds)
        ds.Relations.Add(New DataRelation("NestThem", ds.Tables(0).Columns("GroupID"), ds.Tables(1).Columns("GroupID")))
        RepeaterForumGroup.DataSource = ds
        RepeaterForumGroup.DataBind()
    End Sub

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

تم تعديل هذه المشاركة بواسطة amr ragab في 12 يونيو 2011 في 11:09

#4
amr ragab كتب:

اختى ده مثال

Protected Sub Page_Load(sender As Object, e As System.EventArgs) Handles Me.Load
        Dim con As New SqlConnection(ConfigurationManager.ConnectionStrings("ConnectionString").ConnectionString)
        Dim sdap As New SqlDataAdapter("SELECT * FROM [ForumGroups] ORDER BY [OrderByNumber];SELECT * FROM [Forum] ORDER BY [OrderByNumber]", con)
        Dim ds As New DataSet()
        sdap.Fill(ds)
        ds.Relations.Add(New DataRelation("NestThem", ds.Tables(0).Columns("GroupID"), ds.Tables(1).Columns("GroupID")))
        RepeaterForumGroup.DataSource = ds
        RepeaterForumGroup.DataBind()
    End Sub

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

السلام عليكم ورحمة الله وبركاته..... طيب أخي الكريم لو ابغى أعرض محتوى dataset في صفحة asp.net كيف؟؟؟انشئتها وعبيتها....بس ابغاها تنعرض عشان اتأكد إنها صحيحة كيف أعرضها..وشكراً

VB Helper كتب:

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

اختي يمكنك اضفة اكثر من جدول داخل ال DataSet من خلال DataAdapter.Fill اما بالنسبه للعلاقه يمكنك عملها بعد اضافة الجدولين عبر الفئة DataRelatio, شوفي الرابط التالي http://www.codeproject.com/KB/database/DataRelationExample.aspx

وعليكم السلام ورحمه الله وبركاته..شكراً جزيلاً

تم تعديل هذه المشاركة بواسطة -الأمل- في 12 يونيو 2011 في 12:44

#5

اخى الكود واضح

كود الربط هو و العرض فى asp.net

RepeaterForumGroup.DataBind()
#6

ايوا صح معليه ماانتبهت ....طيب

[ Dim sdap As New SqlDataAdapter("SELECT * FROM [ForumGroups] ORDER BY [OrderByNumber];SELECT * FROM [Forum] ORDER BY [OrderByNumber]", con)

أنا اريد أن استعلم من 3 جداول "المهام والمجموعات والأعضاء" حسوي نفس دا الشي وأزيد جدول ثالث.... وهل أقدر اضيف شرط زي كدا

 ( Dim sdap As New SqlDataAdapter("SELECT * FROM [Task] ;SELECT * FROM [Groups],;SELECT * FROM [Members] where Task.end_Date="+datetime.now, con
#7

اضيفى اى عدد جداول و افصلى بينهم ب ;

ثم انشيىء العلاقة بينهم مثل هذا

 ds.Relations.Add(New DataRelation("NestThem", ds.Tables(0).Columns("GroupID"), ds.Tables(1).Columns("GroupID")))

و ده "NestThem" اسم العلاقة

#8

طيب أخي الكريم لو ابغاه يعبي dataset بشرط إنه تاريخ انتهاء المهمة= التاريخ الحالي :

( Dim sdap As New SqlDataAdapter("SELECT * FROM [Task] ;SELECT * FROM [Groups],;SELECT * FROM [Members] where Task.end_Date=" +datetime.now, con

كدا صح أقدر اضيف الشرط زي كدا؟؟ والشرط لجميع الجداول الموجودة في dataset

#9
      
        SqlConnection SqlConnection = new SqlConnection();
        SqlConnection.ConnectionString = ConfigurationManager.ConnectionStrings["ConnectionString2"].ConnectionString;


        DataSet dsTasks = new DataSet();
        string sqlselect = "(SELECT Member_Id,Member_Name,Emailfrom Members;SELECT Group_Id,Group_Name from Groups;SELECT Task_Id, Task_Name from Tasks) where Tasks.End_Task=" + DateTime.Now.Date.Date;
        SqlDataAdapter adapter = new SqlDataAdapter(sqlselect, SqlConnection);

        adapter.Fill(dsTasks);
        dsTasks.Relations.Add(new DataRelation("membertask", dsTasks.Tables[0].Columns["Member_Id"],dsTasks.Tables[2].Columns["Member_Id"]));
        dsTasks.Relations.Add(new DataRelation("grouptask", dsTasks.Tables[1].Columns["Group_Id"], dsTasks.Tables[2].Columns["Group_Id"]));
        Repeater1.DataSource = dsTasks;
        Repeater1.DataBind();

نفذته ويظهر خطأ

adapter.Fill(dsTasks);

Incorrect syntax near ';'.

Incorrect syntax near ')'.

ممكن أعرف وين الخطأ وشكراً جزيلاً

#10

جملة الSELECT خطا

string sqlselect = "(SELECT Member_Id,Member_Name,Emailfrom Members;SELECT Group_Id,Group_Name from Groups;SELECT Task_Id, Task_Name from Tasks) where Tasks.End_Task=" + DateTime.Now.Date.Date;

الصح بتكون كده

 string sqlselect = "(SELECT Member_Id,Member_Name,Emailfrom_Members From  TableName ; SELECT Group_Id,Group_Name from Groups ; SELECT Task_Id, Task_Name from Tasks  where Tasks.End_Task= @Tasks.End_Task )";

و اعملى البرمتر Tasks.End_Task ان الVALUE التاريخ كده اصح و افضل

#11

شكراً أخي الكريم:

لكن أنا غيرت شكل جملة الإستعلام كالتالي:

 
    DataSet dsTasks = new DataSet();
        string sqlselect = (@"SELECT Tasks.Task_Id, Tasks.Task_Name, Groups.Group_Id, Groups.Group_Name, Members.Member_Id, Members.Member_Name, Members.Email
FROM Groups INNER JOIN
                         Members_Groups ON Groups.Group_Id = Members_Groups.Group_Id INNER JOIN
                         Tasks ON Groups.Group_Id = Tasks.Group_Id INNER JOIN
                         Members ON Members_Groups.Member_Id = Members.Member_Id where Tasks.End_Task=") +     DateTime.Now.Date.Date.Tostring  
 SqlDataAdapter adapter = new SqlDataAdapter(sqlselect, SqlConnection);

        adapter.Fill(dsTasks);

ويظهرلي خطأ : Incorrect syntax near '12'.

مامعناه؟؟

تم تعديل هذه المشاركة بواسطة -الأمل- في 13 يونيو 2011 في 12:47

#12
-الأمل- كتب:

شكراً أخي الكريم:

لكن أنا غيرت شكل جملة الإستعلام كالتالي:

 
    DataSet dsTasks = new DataSet();
        string sqlselect = (@"SELECT Tasks.Task_Id, Tasks.Task_Name, Groups.Group_Id, Groups.Group_Name, Members.Member_Id, Members.Member_Name, Members.Email
FROM Groups INNER JOIN
                         Members_Groups ON Groups.Group_Id = Members_Groups.Group_Id INNER JOIN
                         Tasks ON Groups.Group_Id = Tasks.Group_Id INNER JOIN
                         Members ON Members_Groups.Member_Id = Members.Member_Id where Tasks.End_Task=") +     DateTime.Now.Date.Date.Tostring  
 SqlDataAdapter adapter = new SqlDataAdapter(sqlselect, SqlConnection);

        adapter.Fill(dsTasks);

ويظهرلي خطأ : Incorrect syntax near '12'.

مامعناه؟؟

معنى كلمة Incorrect syntax near '12'. خطا فى كتاية الكود او خطا املائى

اختى جملة الاستعلام STRING يعنى بين القواس افعليها كما فى المثال

جربى الكوده كده

   DataSet dsTasks = new DataSet();
        string sqlselect = "(SELECT Tasks.Task_Id, Tasks.Task_Name, Groups.Group_Id, Groups.Group_Name, Members.Member_Id, Members.Member_Name, Members.Email  FROM Groups INNER JOIN  _
                         Members_Groups ON Groups.Group_Id = Members_Groups.Group_Id INNER JOIN  Tasks ON Groups.Group_Id = Tasks.Group_Id INNER JOIN _
                         Members ON Members_Groups.Member_Id = Members.Member_Id where Tasks.End_Task =  DateTime.Now.Date.Date.Tostring  )"
 SqlDataAdapter adapter = new SqlDataAdapter(sqlselect, SqlConnection);

        adapter.Fill(dsTasks);
#13
      DataSet dsTasks = new DataSet();
        string sqlselect = "(SELECT Tasks.Task_Id, Tasks.Task_Name, Groups.Group_Id, Groups.Group_Name, Members.Member_Id, Members.Member_Name, Members.Email FROM Groups INNER JOIN Members_Groups ON Groups.Group_Id = Members_Groups.Group_Id INNER JOIN Tasks ON Groups.Group_Id = Tasks.Group_Id INNER JOIN Members ON Members_Groups.Member_Id = Members.Member_Id where Tasks.End_Task=)"+DateTime.Now.Date.Date.ToString();
        SqlDataAdapter adapter = new SqlDataAdapter(sqlselect, SqlConnection);
        adapter.Fill(dsTasks);

يظهر هذا الخطأ

post-240687-030285100 1307965740_thumb.p

Incorrect syntax near ')'.

المرفقات
error.png

تم تعديل هذه المشاركة بواسطة -الأمل- في 13 يونيو 2011 في 14:50

#14

يا اختى والله جملة SELECT لابد انت تكون بين " SELECT"

مش كده

where Tasks.End_Task=)"+DateTime.Now.Date.Date.ToString();

اكتبى الكود

“(where Tasks.End_Task= @Tasks.End_Task )"

و اعملى الVALEU التاريخ مش بالطريقة اللى انتى بتكتبيها

تم تعديل هذه المشاركة بواسطة amr ragab في 13 يونيو 2011 في 15:20

#15

طيب شكراً أخي الكريم بجربها

طيب سؤال دحين لما اكتب

(where Tasks.End_Task= @Tasks.End_Task )"

ابغى الباراميتر @Tasks.End_Task ....ياخذها من تاريخ الجهاز كيف أسوي كدا؟؟؟؟؟؟؟

تم تعديل هذه المشاركة بواسطة -الأمل- في 13 يونيو 2011 في 15:48

#16

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

اختي لو افترضت ان cmd هو كائن ال SqlCommand جربي الكود التالي

cmd.Parameters.AddWithValue("Tasks.End_Task",DateTime.Now);

.:: Wish to become better and better ::.

#17
  string sqlselect = "(SELECT Tasks.Task_Id,Tasks.Task_Name,Groups.Group_Id,Groups.Group_Name, Members.Member_Id,Members.Member_Name,Members.Email FROM Groups INNER JOIN Members_Groups ON Groups.Group_Id = Members_Groups.Group_Id INNER JOIN Tasks ON Groups.Group_Id = Tasks.Group_Id INNER JOIN Members ON Members_Groups.Member_Id = Members.Member_Id where Tasks.End_Task=@Tasks.End_Task";
        SqlCommand cmd = new SqlCommand();
        cmd.Parameters.AddWithValue("@Tasks.End_Task", DateTime.Now.Date.Date.ToString());

يظهر هذا الخطأ

Must declare the scalar variable "@Tasks".

#18

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

اختي استبدلي اسم الوسيط في الجملتين بـ EndTask@

تم تعديل هذه المشاركة بواسطة VB Helper في 13 يونيو 2011 في 19:51

.:: Wish to become better and better ::.

#19

ماضبط

post-240687-063548800 1307984957_thumb.p

المرفقات
false.png

تم تعديل هذه المشاركة بواسطة -الأمل- في 13 يونيو 2011 في 20:12

#20

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

اختي جربي الكود التالي


string sqlselect = "(SELECT Tasks.Task_Id,Tasks.Task_Name,Groups.Group_Id,Groups.Group_Name, Members.Member_Id,Members.Member_Name,Members.Email FROM Groups INNER JOIN Members_Groups ON Groups.Group_Id = Members_Groups.Group_Id INNER JOIN Tasks ON Groups.Group_Id = Tasks.Group_Id INNER JOIN Members ON Members_Groups.Member_Id = Members.Member_Id where Tasks.End_Task=@End_Task";
SqlCommand cmd = new SqlCommand();
cmd.Parameters.AddWithValue("End_Task", DateTime.Now.Date.Date.ToString());

.:: Wish to become better and better ::.

#21

وعليكم السلام ورحمه الله وبركاته...نفس الخطأ السابق يظهر

#22

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

عفوا اختي اضفت قوس بالخطأ في البدايه, وابغاك تتأكدي من اسم الوسيط في كلا الجملتين

.:: Wish to become better and better ::.

#23

تفاصيل الاستثناء: System.Data.SqlClient.SqlException: Must declare the scalar variable "@End_Task".

نفس الخطأ يظهر

#24

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

اختي ممكن تكتب جملة ال Select و جملة اضافة الوسيط؟

تم تعديل هذه المشاركة بواسطة VB Helper في 15 يونيو 2011 في 17:26

.:: Wish to become better and better ::.

#25
      SqlConnection SqlConnection = new SqlConnection();
        SqlConnection.ConnectionString = ConfigurationManager.ConnectionStrings["ConnectionString2"].ConnectionString;
        DataSet dsTasks = new DataSet();
        string sqlselect = "SELECT Tasks.Task_Id,Tasks.Task_Name,Groups.Group_Id,Groups.Group_Name, Members.Member_Id,Members.Member_Name,Members.Email FROM Groups INNER JOIN Members_Groups ON Groups.Group_Id = Members_Groups.Group_Id INNER JOIN Tasks ON Groups.Group_Id = Tasks.Group_Id INNER JOIN Members ON Members_Groups.Member_Id = Members.Member_Id where Tasks.End_Task=@End_Task";
        SqlDataAdapter adapter = new SqlDataAdapter(sqlselect, SqlConnection);
        adapter.Fill(dsTasks);
        SqlCommand cmd = new SqlCommand();
        cmd.Parameters.AddWithValue("@End_Task", DateTime.Now.Date.Date.ToString());

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