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

لماذا عند ادخال التاريخ تحفظ في القاعدة 01/01/1900

بدأه sameer22 في 26 ديسمبر 2010 · 2 رد · 496 مشاهدة · في ASP.NET
مشاركة: واتساب X فيسبوك تيليجرام
#1 صاحب الموضوع

السلام عليكم اعضاء المنتدى المُشّرْف ...

لقد ادرجت التاريخ في قاعدة بيانات بطريقتين مختلفتين

الأولى :

DateTime.Today.ToShortDateString()

والثانية :

calendarClose.SelectedDate.ToShortDateString()

ونوع الحقل في قاعدة البيانات datetime والأخر smalldatetime

لكن المشكلة انه يتم إدراج التاريخ في قاعدة البيانات غير الذي ادخلته حيث انه يدخل القيمة 01/01/1900 لكلا الحقلين ..

مع العلم ان التاريخ من لوحة التحكم ميلادي ومضبوط .

ارجو الإفادة بارك الله فيكم

هذا هو كود الإدراج

string sqls = " insert into adve values('" + id_users + "','" + idt + "',N'" + droptype.Text.ToString() + "',N'" + dropcom.Text.ToString() + "',N'" + lblcountry.Text + "',N'" + dropmodle.Text.ToString() + "',N'" + dropPhontype.Text.ToString() + "',N'" + txtoption.Text + "',N'" + txtdes.Text + "',"+DateTime.Today.ToShortDateString()  +","+ calendarClose.SelectedDate.ToShortDateString() +",N'" + txtPrice.Text + "','ss',N'" + fil.FileName.ToString() + "','open')";

تم تعديل هذه المشاركة بواسطة sameer22 في 26 ديسمبر 2010 في 22:51

#2

هذا القيمة هي القيمة الصفرية لحقول التاريخ مما يعني أن عملية تسجيل التاريخ لم تتم بطريقة صحيحة، وهو خطأ شائع عن ما تحاول إدخال التاريخ بشكل نصي، كما فعلت بالضبط. لذا من الأفضل استخدام طريقة البارامترز parameters لإدخال القيم في جملة الـSQL. هذه الطريقة هي الأفضل لأنها تجنبك مشاكل تحوبل البيانات، بالإضافة إلى أنها أكثر أمناً لأنها تحمي برنامجك من هجمات الـSQL Injection.

http://www.csharp-station.com/tutorials/adodotnet/lesson06.aspx

#3

تشكر

معك حق

طلعت صحيحه مع البارمتر

string sqls = " insert into adve values(@id_user,@id_adv,@type_adv,@compny,@made_in,@model,@type_tel,@tel_option,@tel_def,@date_adv,@date_close,@price,@pic1,@pic2,@states)";
            //  FileUpload1.SaveAs(fileImages);
            SqlCommand cmds = new SqlCommand(sqls,conn);
            SqlParameter id_user = new SqlParameter("@id_user", id_users);
            SqlParameter id_adv = new SqlParameter("@id_adv", idt);
            SqlParameter type_adv = new SqlParameter("@type_adv", droptype.Text);
            SqlParameter compny = new SqlParameter("@compny",dropcom.Text);
            SqlParameter made_in = new SqlParameter("@made_in", lblcountry.Text);
            SqlParameter model = new SqlParameter("@model", dropmodle.Text);
            SqlParameter type_tel = new SqlParameter("@type_tel", dropPhontype.Text);
            SqlParameter tel_option = new SqlParameter("@tel_option", txtoption.Text);
            SqlParameter tel_def = new SqlParameter("@tel_def", txtdes.Text);
            SqlParameter date_adv = new SqlParameter("@date_adv", DateTime.Now);
            SqlParameter date_close = new SqlParameter("@date_close", calendarClose.SelectedDate);
            SqlParameter price = new SqlParameter("@price", txtPrice.Text);
            SqlParameter pic1 = new SqlParameter("@pic1", "ss");
            SqlParameter pic2 = new SqlParameter("@pic2", fil.FileName.ToString());
            SqlParameter states = new SqlParameter("@states", "Open");
            cmds.Parameters.Add(id_user);
            cmds.Parameters.Add(id_adv);
            cmds.Parameters.Add(type_adv);
            cmds.Parameters.Add(compny);
            cmds.Parameters.Add(made_in);
            cmds.Parameters.Add(model);
            cmds.Parameters.Add(type_tel);
            cmds.Parameters.Add(tel_option);
            cmds.Parameters.Add(tel_def);
            cmds.Parameters.Add(date_adv);
            cmds.Parameters.Add(date_close);
            cmds.Parameters.Add(price);
            cmds.Parameters.Add(pic1);
            cmds.Parameters.Add(pic2);
            cmds.Parameters.Add(states);



            SqlDataReader rds = cmds.ExecuteReader();

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