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

كيف أصل للحقول في dataset وأقارن

بدأه -الأمل- في 13 مايو 2011 · 5 رد · 339 مشاهدة · في ASP.NET
مشاركة: واتساب X فيسبوك تيليجرام
#1 صاحب الموضوع

السلام عليكم ورحمة الله وبركاته.. لدي جدول في dataset وجدول آخر في dataset أخرى

أريد أن يقارن قيم الحقل الموجود في الجدول الأول مع الثاني....وعندما يرى أن القيم تختلف يخزن قيم الجدول الأول في checkboxlist

هذا الكود ماهو الخطأ؟

foreach(DataRow rw in project_member.DataSet.Tables[0].Rows.Count)

foreach(DataRow rb in groub_member.DataSet.Tables[0].Rows.Count){

if(rw!=rb)

{CheckBoxList members=new CheckBoxList();

members.Text=project_member.DataSet.Tables[0].Columns[0];

}

}

تظهر رسالة خطأ كالتالي:

رسالة خطأ المحول البرمجي: CS1579: foreach statement cannot operate on variables of type 'int' because 'int' does not contain a public definition for 'GetEnumerator'

#2

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

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


foreach(DataRow rw in project_member.DataSet.Tables[0].Rows)
foreach(DataRow rb in groub_member.DataSet.Tables[0].Rows){
if(!rw.Equals(rb))
{
members.Items.Add(rw[0].ToString();
}
}

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

#3

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

رسالة خطأ المحول البرمجي: CS1656: Cannot assign to 'Add' because it is a 'method group'

members.Items.Add = row[0].ToString();

#4

أخي vb أريد أن اسألك.....عندما أكتب جملة إستعلام من أكثر من جدول ....ثم أريد املئ الداتا ست بنتيجة الإستعلام فقط......هل يجب أن أخزن في الدتا ست جميع الجداول التي استعلمت منها أم أخزن فيها فقط نتيجة الإستعلام.....

يعني في جملة الإستعلام الأولى أردت إسم العضو واستعلمت من 3 جداول....هل يجب أن أضع جميع الجداول في داتا ست ....أم اكتفي بتخزين إسم العضو في الداتا ست...

مع العلم أن basic هو كلاس فيه جمل الإتصال بالقاعدة وتعبئة الداتا ست

basic project_member=new basic();

string sqlquery="SELECT Members.Name FROM Members INNER JOIN Members_Projects ON Members.Member_Id = Members_Projects.Member_Id INNER JOIN Projects ON Members_Projects.Project_Id = Projects.Project_Id where Members_Projects.Project_Id= "+Session["Project_Id"];

project_member.FullDataSet("Members_Projects",sqlquery);

basic groub_member=new basic();

string grquery="SELECT Members.Name FROM Members INNER JOIN Members_Groups ON Members.Member_Id = Members_Groups.Member_Id INNER JOIN Groups ON Members_Groups.Group_Id = Groups.Group_Id

where Members_Groups.Group_Id="+gru;

groub_member.FullDataSet("Members_Groups", grquery);

DataTable dt = project_member.DataSet.Tables[0];

DataTable dr = groub_member.DataSet.Tables[0];

foreach(DataRow row in dt.Rows)

{

foreach(DataRow rw in dr.Rows)

if(!row.Equals(rw))

{CheckBoxList members=new CheckBoxList();

members.Items.Add = row[0].ToString();

}

#5

هذا مثال توضيحي لـDataset

وهي عملية جلب تفاصيل الخبر عن طريق ID الخاص بالخبر

    protected void GetNewsDetails(int News_int_IDint)
    {
        DataSet D_Set = new DataSet();
        D_Set = dp.FrontEnd_News_Select_By_News_ID(News_int_IDint);

        if (D_Set.Tables[0].Rows[0]["NewsActive_ID"].ToString() == "1")
        {
            Title = D_Set.Tables[0].Rows[0]["NewsTitle"].ToString();
            lblNewsTitle.Text = D_Set.Tables[0].Rows[0]["NewsTitle"].ToString();
            Image1.ImageUrl = "~/NewsImagesFile/" + D_Set.Tables[0].Rows[0]["NewsPicture"].ToString();
            lblNewsContent.Text = D_Set.Tables[0].Rows[0]["NewsContent"].ToString();
            lblNewsDetailsDate.Text = D_Set.Tables[0].Rows[0]["NewsDateHijri"].ToString() + " هـ";
            lblNumberOfReader.Text = (int.Parse(D_Set.Tables[0].Rows[0]["NewsReader"].ToString()) + 1).ToString();


        }
        else
        {
            Response.Redirect("Error.aspx");
        }
    }

الكود السابق فيه عرض لمحتويات الخبر من جدول في قاعدة البيانات

مع التاكد والمقارنه قبل العرض

والتأكد هل الخبر نشط ومفعل ام انه غير نشط

المقارنه تتم بواسطة Dataset

والدالة السابقة تستدعي داله اخرى متصلة بقاعدة البيانات

لملئ الـDataset بالبيانات

    public DataSet FrontEnd_News_Select_By_News_ID(int News_ID)
    {
        SqlConnection myConnection = new SqlConnection(Connection_String);
        SqlCommand myCommand = new SqlCommand(@"select 
News_ID,
NewsType_ID,
NewsTypeName = (select NewsTypeName from NewsType NT where NT.NewsType_ID = N.NewsType_ID),
NewsActive_ID,
NewsActiveName = (select ActiveName from ActiveType AT where AT.Active_ID = N.NewsActive_ID),
Newskind_ID,
NewskindName = (Select NewskindName from NewsKind NK where NK.Newskind_ID = N.Newskind_ID),
NewsCommentActive_ID,
NewsCommentActiveName = (select ActiveName2 from ActiveType AT where AT.Active_ID = N.NewsCommentActive_ID),
NewsTitle,
NewsContent,
NewsPicture,
NewsDateHijri,
NewsDate,
NewsReader
from News N
where News_ID = @News_ID", myConnection);
        myCommand.CommandType = CommandType.Text;

        myCommand.Parameters.Add(new SqlParameter("@News_ID", News_ID));


        SqlDataAdapter myAdapter = new SqlDataAdapter(myCommand);
        try
        {
            DataSet dataSet = new DataSet();
            myAdapter.Fill(dataSet);
            return dataSet;
        }
        catch (Exception exception)
        {
            throw exception;
        }
    }

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

#6

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

اختي لاتقومي بالاسناد اعملي members.Items.Add(rw[0].ToString());

اما بخصوص الاستعلام لايوجد داعي لخزن جميع الجدول .. فالاستعلام سينحفظ كجدول في ال DataSet

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

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

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