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

مشكله مع Parameter

بدأه MS_SQL في 24 أغسطس 2009 · 9 رد · 505 مشاهدة · في Microsoft Visual C#.NET
مشاركة: واتساب X فيسبوك تيليجرام
#1 صاحب الموضوع

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

أخواني عندي مشكله سوف اشرحها بإيجاز : عندي DataGridview

post-126189-1251064534_thumb.gif

أريد أن أحفظ في الجدول اسم المادة التي تم إختيارها من قبل المستخدم دفعة واحدة أي كود الحفظ سوف يمر على كل سطر من سطور DataGridView ليتم إختبار قيمة العمود I agree

كل ما أنفذ الكود بتظهر رسالة

post-126189-1251064789_thumb.gif

الكود الحفظ :

post-126189-1251064978_thumb.gif

تم تعديل هذه المشاركة بواسطة medo_Programming في 24 أغسطس 2009 في 01:03

فلسطين .. سوريا ..بورما ......وماذا بعد ؟!

سابقا

medo_programming

موقعي : www.alkhayat-it.com

مواضيع مهمه

-----------------------------------------------:

تعلم كل شىء عن الTriggers

#2

لقد نسيت تعريف البارامتر @DiplomaId و @SubjectName بداخل جملة SQL المكلفة بزيادة البيانات.

string sql3 = "declare @DiplomaID AS BIGINT
declare @SubjectName as nchar(32)
etc."

تحياتي...

#3

أخي لماذا أعرف الParameter انا لااستخدم Stored Procedure ....وبالرغم من ذالك انا عملت نفس الكود ده لButtons ثانية يشتغل كويس لكن عندما أضعه في Loop تظهر هذه الرسالة

فلسطين .. سوريا ..بورما ......وماذا بعد ؟!

سابقا

medo_programming

موقعي : www.alkhayat-it.com

مواضيع مهمه

-----------------------------------------------:

تعلم كل شىء عن الTriggers

#4

آه... لم ألاحظها. لقد نسيت الكاراكتر @ في أول أسماء البارامترز. جرب و رد علي.

com3.Parameters.AddWithValue("@DiplomaID", ...)

تحياتي...

تم تعديل هذه المشاركة بواسطة محمد رضى في 24 أغسطس 2009 في 03:19

#5

أخي جربت بتظهر نفس الرسالة ...

com3.Parameters.AddWithValue("@DiplomaID", txtDiplomaID1.Text.Trim());

لكن حاولت أخذ بكلامك واضفت هذا الكود

 string sql3 = @"

// Declare @SubjectName varchar(255)

// INSERT INTO Diploma_Subjects Values(@DiplomaID,@SubjectName)";

بتظهر رسالة ثانية

post-126189-1251073610_thumb.gif

أظن في مشكلة في هذا السطر

com3.Parameters.AddWithValue("@SubjectName", dataGridView2[0, x].Value.ToString());

ازاي بتظهر هذه الرسالة وانا معلم على كل العمود I agree :S

فلسطين .. سوريا ..بورما ......وماذا بعد ؟!

سابقا

medo_programming

موقعي : www.alkhayat-it.com

مواضيع مهمه

-----------------------------------------------:

تعلم كل شىء عن الTriggers

#6

الاستثناء الذي يرفع يخبر أنك تحاول زيادة سطر إلى الجدول به حقل لا يقبل محتوى فارغ DbNull و أنت تحاول تحديد محتواه على فراغ. تأكد أن dataGridView2[0, x].Value لا تحتوي على فراغ Nothing.

تحياتي...

#7

الخطأ هنا :

 if(convert.ToBoolean(dataGridView2[1, x].Selected == true)

جرب هذا مكانه :

if(dataGridView2[1, x].Value != null) {
	if(((DataGridViewCheckBoxCell)dataGridView2[1, x]).Value == true) {
		// الكود الذي تريد
	}
}

و لكن و بالرغم من هذا سيبقى عندك خطأ و هو أنك تشغل جملة SQL حتى و لو لم يخترها المستخدم عبر CheckBox و في هذه الحالة سيكون محتوى البارامتر فراغ أو محتوى قديم.

تحياتي...

تم تعديل هذه المشاركة بواسطة محمد رضى في 24 أغسطس 2009 في 03:53

#8

اخواني انا والله تعبت انا من الصبح وانا بحاول في الكود ده لغاية ما حتجنن مافيش خطأ في الكود وبيظهر خطأ :S :S :S

مرة بيقول لازم تعرف المتغير ومرة بيقول ليه عرفت المتغير ...دي شكل النافذة لزيادة التوضيح

post-126189-1251160492_thumb.gif

فلسطين .. سوريا ..بورما ......وماذا بعد ؟!

سابقا

medo_programming

موقعي : www.alkhayat-it.com

مواضيع مهمه

-----------------------------------------------:

تعلم كل شىء عن الTriggers

#9

هذا الكود الذي أرفقت بعد التصحيح إن شاء الله :

			for(int x = 0; x <= dataGridView2.RowCount-1; x++) {
				object o = dataGridView1[1, x].Value;
				if(o != null) {
					if((bool)o == true) {
						DatabaseConnection openDatabase6 = DatabaseConnection();
						openDataBase6.CreateConnection();

						string sql3 = @"INSERT INTO Diploma_Subjects
									Values(
										@DiplomaID,
										@SubjectName)";

						SqlCommand com3 = new SqlCommand(sql3, openDatabase6.Cnn);
						com3.Parameters.AddWithValue("@DiplomaID", txtDiplomaID1.Text.Trim());

						com3.Parameters.AddWithValue("@SubjectName", dataGridView2[0, x].Value.ToString());

						com3.ExecuteNonQuery();
						com3.Dispose();
						openDatabase6.CloseConnection();
					}
				}
			}

تحياتي...

تم تعديل هذه المشاركة بواسطة محمد رضى في 25 أغسطس 2009 في 18:43

#10

شكرا جزيلا الله يرضى عنك أخي الكود شغاااااااااااااال :lol: :rolleyes: المشكله اني كنت عاكس الكود بس الحمد لله انت صلحته

فلسطين .. سوريا ..بورما ......وماذا بعد ؟!

سابقا

medo_programming

موقعي : www.alkhayat-it.com

مواضيع مهمه

-----------------------------------------------:

تعلم كل شىء عن الTriggers

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