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

مساعدة سريعة كود يحتاج التصحيح

بدأه Ahmed_Amer في 21 مايو 2011 · 10 رد · 346 مشاهدة · في ASP.NET
مشاركة: واتساب X فيسبوك تيليجرام
#1 صاحب الموضوع

السلام عليكم ...

أخواني عباقرة الـ ASP أرجو المساعدة في تصحيح الخطأ التالي:

protected void Page_PreInit(object sender, EventArgs e)
    {
        String S = Request.QueryString["id"];

        String head = "";
        String comp = "";
        String prep = "";
        String calo = "";

        OleDbConnection cn = new OleDbConnection("Provider=Microsoft.Jet.OleDB.4.0;Data Source = E:\\Food.mdb");
        OleDbDataAdapter da = new OleDbDataAdapter("Select * from Meal where ID = '" + S + "'", cn);
        DataSet ds = new DataSet();
        da.Fill(ds);

        DataTable DT = ds.Tables[0];

        head = DT.Rows[0]["meal_name"].ToString();
        comp = DT.Rows[0]["meal_component"].ToString();
        prep = DT.Rows[0]["meal_preparation"].ToString();
        calo = DT.Rows[0]["meal_calories"].ToString();

        head = "<h1>" + head + "</h1>";
        comp = "<P>" + comp + "</P>";
        prep = "<h2>" + prep + "</h2>";
        calo = "<h5>" + calo + "</h5>";

        Literal1.Text = head;
        Literal2.Text = comp;
        Literal3.Text = prep;
        Literal4.Text = calo;

    }

الخطا في السطر التالي:

DataTable DT = ds.Tables[0];

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

802313179.jpg

عفوا الخطأ في السطر التالي:

da.Fill(ds);
#2

قم بتحويل ID الى رقم صحيح

String S = Request.QueryString["id"];

هذه الجملة تاخذ المعاملة على شكل نص

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

int i = int.parse(S).toString();

بعدها قم بتعديل جملة السطر التالي

OleDbDataAdapter da = new OleDbDataAdapter("Select * from Meal where ID = '" + S + "'", cn);

الى

OleDbDataAdapter da = new OleDbDataAdapter("Select * from Meal where ID = '" + i + "'", cn);
#3

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

اخي ماكسيموس لايمكن استعمال الواصل العلويه مع الارقام؟!! اخي احمد ارجو التعديل الى

OleDbDataAdapter da = new OleDbDataAdapter("Select * from Meal where ID =" + Convert.ToInt32(S), cn);

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

#4

لماذا لا يمكن

انا استعملها دائماً

ولكن اخطات في كتابة الامر والصحيح كالتالي

int i = int.parse(S.toString())

او يمكن كتابتها كما طرحت انت

Convert.ToInt32(S)

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

#5

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

اخي بس مافي داعي للفارزتين العلويتين اذا كنت تتعامل مع ارقام وثاني حاجه ليش سويت S.toString() اصلا المتغير هو نص؟!!

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

#6

شكرا جزيلا على المساعدة ... فائث التقدير والإحترام لكم على حسن تعاونكم

#7

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

بالتوفيق اخي ...

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

#8

نعم اخي Vb اعلم انه نص

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

طبعا سوف استقبل نص ولكن اضعها مجرد تاكد لا اكثر ولا اقل

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

#9

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

اخي مش قصة تأكد كان المفروض تحطها هنا

String S = Request.QueryString["id"].ToString();

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

#10
VB Helper كتب:

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

اخي مش قصة تأكد كان المفروض تحطها هنا

String S = Request.QueryString["id"].ToString();

لا مشكلة

كل الطرق تؤدي الى روما

#11

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

اخي مش قصة كل الطرق تؤدي الى روما .. اصلا استغربت عندما استخدمت الاجراء ToString() والمتغير اصلا String

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

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