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

ممكن تصحيح الكود هذه بليز يا اخواني

بدأه sarha في 23 أبريل 2011 · 8 رد · 467 مشاهدة · في ASP.NET
مشاركة: واتساب X فيسبوك تيليجرام
#1 صاحب الموضوع

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

اخواني العضاء ومشرفين المنتدى .. عندي مشكلة في الكود هذه يطلع لي خطاء فيه مدري ايش الخطاء ياليت الي عنده خبرة يصلح لي الخطاء حق الكود

المثال مرفق في المرفقات وشكراُ

علماُ ان الخطاء يطلع عند هذه السطر

mypic = sqlcom.ExecuteNonQuery().ToString();

user.rar

#2

السلام عليكم

أختي صراحة ما شفت أحد قبل أخطأ هكذا خطأ !!!

الخطأ من السطر 29 إلى 34

دققي وستعرفين

لا تنسونا من الدعاء

فنحن بأمس الحاجة إليه

الله أكبر الله أكبر الله أكبر لآ إله إلا الله الله أكبر الله أكبر ولله الحمد

#3
KV2010 كتب:

السلام عليكم

أختي صراحة ما شفت أحد قبل أخطأ هكذا خطأ !!!

الخطأ من السطر 29 إلى 34

دققي وستعرفين

لا تنسونا من الدعاء

فنحن بأمس الحاجة إليه

طيب . اخي ياليت تقولي ايش الخطاء وتصححة لي . وربي يجزاك الخير وكل اهلك الي ربوك على الطيب والاخلاق .. وشكراً

#4

طيب أنا حبيت إنك تكتشفي خطأك بنفسك

شوفي أولا من السطر 29 إلى 34 ماذا وضعت أنت

sqlcom.Parameters.AddWithValue("@IDUSER", TextBox1.Text);
        sqlcom.Parameters.AddWithValue("@NAME", TextBox1.Text);
        sqlcom.Parameters.AddWithValue("@PASSWORD", TextBox1.Text);
        sqlcom.Parameters.AddWithValue("@EMAIL", TextBox1.Text);
        sqlcom.Parameters.AddWithValue("@AGE", TextBox1.Text);
        sqlcom.Parameters.AddWithValue("@CITY", TextBox1.Text);

هذه هي تعليمة واضحة وهي لإضافة قيمة إلى باراميتر ( طبعاً والبارامتر هذا سيضاف ما فيه للجدول بواسطة تعليمة insert )

أنت وضعت أن كل البارامترات التي ستضيفينها للجدول ستأخذ معلوماتها من مصدر واحد وهو TextBox1 !!!!!

طبعا في حال كانت المعلومات التي تريدين تخزينها في الجدول كلها نفس النوع يعني كلها قيم نصية مثلا فلن يظهر خطأ ولكن سيكون عندك المعلومات نفسها للحقل كله

أما إن كان كما عندك الآن معلومات نصية كالإسم ورقمية كالعمر عندها سيظهر خطأ لأنك في TextBox1 ستدخلين إما معلومات رقمية أو نصية .

أكيد الآن عرفت ماذا يتوجب عليك ( إن لم تعرفي سأنتحر )

ثانياً

في هذا السطر

"insert into USERS values(@ID,@IDUSER,@NAME,@PASSWORD,@EMAIL,@AGE,@CITY)"

أنت تتعاملين مع تعليمة insert لذلك لست محتاجة للإضافة للحقل ID و IDUSER بل ضعي خاصية Is Identity على Yes لهما حتى يتم إضافة سطر تلقائيا عند كل تسجيل مستخدم جديد

هل من المعقول أنه عندما يريد مستخدم أن يسجل في الموقع أن يتم سؤاله عن الرقم الذي يريد أن يكون فيه في الموقع ورقم التعريف في الجدول ؟؟؟؟؟؟!!!!!!!!!!!!!؟؟؟؟؟!!!

هكذا يصبح هذا السطر

"insert into USERS values(@NAME,@PASSWORD,@EMAIL,@AGE,@CITY)"

لا تنسونا من دعائكم

بالتوفيق

الله أكبر الله أكبر الله أكبر لآ إله إلا الله الله أكبر الله أكبر ولله الحمد

#5
KV2010 كتب:

طيب أنا حبيت إنك تكتشفي خطأك بنفسك

شوفي أولا من السطر 29 إلى 34 ماذا وضعت أنت

sqlcom.Parameters.AddWithValue("@IDUSER", TextBox1.Text);
        sqlcom.Parameters.AddWithValue("@NAME", TextBox1.Text);
        sqlcom.Parameters.AddWithValue("@PASSWORD", TextBox1.Text);
        sqlcom.Parameters.AddWithValue("@EMAIL", TextBox1.Text);
        sqlcom.Parameters.AddWithValue("@AGE", TextBox1.Text);
        sqlcom.Parameters.AddWithValue("@CITY", TextBox1.Text);

هذه هي تعليمة واضحة وهي لإضافة قيمة إلى باراميتر ( طبعاً والبارامتر هذا سيضاف ما فيه للجدول بواسطة تعليمة insert )

أنت وضعت أن كل البارامترات التي ستضيفينها للجدول ستأخذ معلوماتها من مصدر واحد وهو TextBox1 !!!!!

طبعا في حال كانت المعلومات التي تريدين تخزينها في الجدول كلها نفس النوع يعني كلها قيم نصية مثلا فلن يظهر خطأ ولكن سيكون عندك المعلومات نفسها للحقل كله

أما إن كان كما عندك الآن معلومات نصية كالإسم ورقمية كالعمر عندها سيظهر خطأ لأنك في TextBox1 ستدخلين إما معلومات رقمية أو نصية .

أكيد الآن عرفت ماذا يتوجب عليك ( إن لم تعرفي سأنتحر )

ثانياً

في هذا السطر

"insert into USERS values(@ID,@IDUSER,@NAME,@PASSWORD,@EMAIL,@AGE,@CITY)"

أنت تتعاملين مع تعليمة insert لذلك لست محتاجة للإضافة للحقل ID و IDUSER بل ضعي خاصية Is Identity على Yes لهما حتى يتم إضافة سطر تلقائيا عند كل تسجيل مستخدم جديد

هل من المعقول أنه عندما يريد مستخدم أن يسجل في الموقع أن يتم سؤاله عن الرقم الذي يريد أن يكون فيه في الموقع ورقم التعريف في الجدول ؟؟؟؟؟؟!!!!!!!!!!!!!؟؟؟؟؟!!!

هكذا يصبح هذا السطر

"insert into USERS values(@NAME,@PASSWORD,@EMAIL,@AGE,@CITY)"

لا تنسونا من دعائكم

بالتوفيق

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

اولاُ مشكور اخي الكريم على ردك علي وان شاء الله ربي يجزيك كل الخير وويسكنك الجنة يااارب وانت وكل اهلك

ثانياً : انا غيرت في الكود بس طلع لي نفس الخطاء وبنفس المكان هذه

mypic = sqlcom.ExecuteNonQuery().ToString();

وهذه الكود الي عدلته

======================================

sqlcom.Parameters.AddWithValue("@IDUSER", TextBox1.Text);

sqlcom.Parameters.AddWithValue("@NAME", TextBox2.Text);

sqlcom.Parameters.AddWithValue("@PASSWORD", TextBox3.Text);

sqlcom.Parameters.AddWithValue("@EMAIL", TextBox4.Text);

sqlcom.Parameters.AddWithValue("@AGE", TextBox5.Text);

sqlcom.Parameters.AddWithValue("@CITY", TextBox6.Text);

===========================

وبعمل لك صور للخطاء الي طلع لي ومشكور اخي العزيز

الخطاء.rar

#6

طيب وهذا

اقتباس

أنت تتعاملين مع تعليمة insert لذلك لست محتاجة للإضافة للحقل ID و IDUSER بل ضعي خاصية Is Identity على Yes لهما حتى يتم إضافة سطر تلقائيا عند كل تسجيل مستخدم جديد

هل من المعقول أنه عندما يريد مستخدم أن يسجل في الموقع أن يتم سؤاله عن الرقم الذي يريد أن يكون فيه في الموقع ورقم التعريف في الجدول ؟؟؟؟؟؟!!!!!!!!!!!!!؟؟؟؟؟!!!

هكذا يصبح هذا السطر

"insert into USERS values(@NAME,@PASSWORD,@EMAIL,@AGE,@CITY)"

يعني إجعلي حتى IDUSER زيادة تلقائية مثل ID حتى تضمني عدم تكرار البيانات ويبقى رقم المستخدم رقم فريد .

ثانيا : تأكدي من ترتيب الحقول يعني كما رتبتيها في الجدول يجب أن ترتبيها هنا في تعليمة Insert وفي إضافة الباراميتر يعني أنت بدأت بحقل Name ثم Password ثم... يجب أن يكون كذلك هنا في الكود

وإذا لم ينجح ضعي تسميات الحقول ثم القيم

مثل هذا /index.php?showtopic=239461

الله أكبر الله أكبر الله أكبر لآ إله إلا الله الله أكبر الله أكبر ولله الحمد

#7
KV2010 كتب:

طيب وهذا

يعني إجعلي حتى IDUSER زيادة تلقائية مثل ID حتى تضمني عدم تكرار البيانات ويبقى رقم المستخدم رقم فريد .

ثانيا : تأكدي من ترتيب الحقول يعني كما رتبتيها في الجدول يجب أن ترتبيها هنا في تعليمة Insert وفي إضافة الباراميتر يعني أنت بدأت بحقل Name ثم Password ثم... يجب أن يكون كذلك هنا في الكود

وإذا لم ينجح ضعي تسميات الحقول ثم القيم

مثل هذا /index.php?showtopic=239461

=====================

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

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

تصحيح.rar

#8

هذا الكود

 
string con;

con = System.Configuration.ConfigurationManager.ConnectionStrings["ConnectionString"].ConnectionString;

SqlConnection sqlcon = new SqlConnection();

sqlcon.ConnectionString = con;

SqlCommand sqlcom = new SqlCommand();

sqlcom.Connection = sqlcon;

string command,mypic;

command = "insert into USERS (name, PASSWORD, EMAIL, AGE, CITY) values(@NAME,@PASSWORD,@EMAIL,@AGE,@CITY)";

sqlcom.CommandText = command;

sqlcon.Open();

sqlcom.Parameters.AddWithValue("@NAME", TextBox2.Text);

sqlcom.Parameters.AddWithValue("@PASSWORD", TextBox3.Text);

sqlcom.Parameters.AddWithValue("@EMAIL", TextBox5.Text);

sqlcom.Parameters.AddWithValue("@AGE", TextBox7.Text);

sqlcom.Parameters.AddWithValue("@CITY", TextBox8.Text);

mypic = sqlcom.ExecuteNonQuery().ToString();

sqlcon.Close();

وهذا تصميم الجدول

لا تنسونا من الدعاء

post-230800-066826900 1303760145_thumb.j

المرفقات
2.jpg

تم تعديل هذه المشاركة بواسطة KV2010 في 25 أبريل 2011 في 22:37

الله أكبر الله أكبر الله أكبر لآ إله إلا الله الله أكبر الله أكبر ولله الحمد

#9

أعتقد انها مشكلتك في Stored Procedure الى مستخدمها في الداتابيز , ليس في كود C#

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