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

خاصيةINSERT

مغلق
بدأه Al-Mohana في 3 ديسمبر 2006 · 17 رد · 1,455 مشاهدة · في Microsoft Visual Basic.NET
مشاركة: واتساب X فيسبوك تيليجرام
#1 صاحب الموضوع

السلام عليكم

هذه أو مشاركه لي

سوأل لي ما العيب في هذا الكود:

 Dim r2 As OleDb.OleDbDataReader

		Try
			Me.OleDbConnection1.Open()
			'	Me.OleDbDataAdapter1.Fill(BOdataset1.Book)
			Me.OleDbInsertCommand1.CommandText = "insert into book values(" + Me.TextBox24.Text + "," + "'Me.TextBox23.Text'" + "," + "'Me.TextBox22.Text'" + "," + "' Me.TextBox21.Text'" + "," + " 'Me.TextBox20.Text' " + " ," + "' Me.TextBox19.Text'" + "," + "' Me.TextBox18.Text'" + "," + "' Me.TextBox17.Text' " + "," + " Me.TextBox16.Text " + "," + "' Me.TextBox15.Text' " + "," + "' Me.TextBox14.Text' " + "," + "' Me.TextBox7.Text'" + "," + " 'Me.ComboBox3.Text'" + ")'"



		Catch


			Me.OleDbDataAdapter1.InsertCommand.ExecuteReader()



			Me.TextBox24.Text = ""
			Me.TextBox23.Text = ""
			Me.TextBox22.Text = ""
			Me.TextBox21.Text = ""
			Me.TextBox20.Text = ""
			Me.TextBox19.Text = ""
			Me.TextBox18.Text = ""
			Me.TextBox17.Text = ""
			Me.TextBox16.Text = ""
			Me.TextBox15.Text = ""
			Me.TextBox14.Text = ""
			Me.TextBox7.Text = ""
			Me.ComboBox3.Text = ""


			Me.OleDbConnection1.Close()
		End Try

حولت البحث فلم أجد شيء

علما أني أستخدم VB.NET2003 with MS ACCESS2003

تعلم فليس المرء يولد عالماً------ وليس أخو علماً كمن هو جاهلا

العلم نور وجمال يقتبس--------------- صاحبه مكرم اين ما جلس

من فاته العلم ساعة تظعظع ونتكس----شتان شتان بين حمار وفرس

#2
Al-Mohana كتب:
السلام عليكم

هذه أو مشاركه لي

سوأل لي ما العيب في هذا الكود:

 Dim r2 As OleDb.OleDbDataReader

		Try
			Me.OleDbConnection1.Open()
			'	Me.OleDbDataAdapter1.Fill(BOdataset1.Book)
			Me.OleDbInsertCommand1.CommandText = "insert into book values(" + Me.TextBox24.Text + "," + "'Me.TextBox23.Text'" + "," + "'Me.TextBox22.Text'" + "," + "' Me.TextBox21.Text'" + "," + " 'Me.TextBox20.Text' " + " ," + "' Me.TextBox19.Text'" + "," + "' Me.TextBox18.Text'" + "," + "' Me.TextBox17.Text' " + "," + " Me.TextBox16.Text " + "," + "' Me.TextBox15.Text' " + "," + "' Me.TextBox14.Text' " + "," + "' Me.TextBox7.Text'" + "," + " 'Me.ComboBox3.Text'" + ")'"

		Catch
			Me.OleDbDataAdapter1.InsertCommand.ExecuteReader()
			Me.TextBox24.Text = ""
			Me.TextBox23.Text = ""
			Me.TextBox22.Text = ""
			Me.TextBox21.Text = ""
			Me.TextBox20.Text = ""
			Me.TextBox19.Text = ""
			Me.TextBox18.Text = ""
			Me.TextBox17.Text = ""
			Me.TextBox16.Text = ""
			Me.TextBox15.Text = ""
			Me.TextBox14.Text = ""
			Me.TextBox7.Text = ""
			Me.ComboBox3.Text = ""
			Me.OleDbConnection1.Close()
		End Try

حولت البحث فلم أجد شيء

علما أني أستخدم VB.NET2003 with MS ACCESS2003

لماذا وضعت الأوامر داخل بلوك Catch؟

#3
System Down كتب:
لماذا وضعت الأوامر داخل بلوك Catch؟

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

 Me.OleDbDataAdapter1.InsertCommand.ExecuteReader()

تعلم فليس المرء يولد عالماً------ وليس أخو علماً كمن هو جاهلا

العلم نور وجمال يقتبس--------------- صاحبه مكرم اين ما جلس

من فاته العلم ساعة تظعظع ونتكس----شتان شتان بين حمار وفرس

#4

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

يا أخي لكي ينفذ الكود بشكل صحيح ,, يجب عدم وضع الأوامر داخل ال catch

هذا اولا ,, ثانيا : ماهي الرسالة التي تطلع لك عند تنفيذ الكود ,, ارجوا وضع نص الرسالة لكي نساعدك ...

عموما جرب هذا الكود

Dim r2 As OleDb.OleDbDataReader

		Try
			Me.OleDbConnection1.Open()
			'	Me.OleDbDataAdapter1.Fill(BOdataset1.Book)
			Me.OleDbInsertCommand1.CommandText = "insert into book values(" + Me.TextBox24.Text + "," + "'Me.TextBox23.Text'" + "," + "'Me.TextBox22.Text'" + "," + "' Me.TextBox21.Text'" + "," + " 'Me.TextBox20.Text' " + " ," + "' Me.TextBox19.Text'" + "," + "' Me.TextBox18.Text'" + "," + "' Me.TextBox17.Text' " + "," + " Me.TextBox16.Text " + "," + "' Me.TextBox15.Text' " + "," + "' Me.TextBox14.Text' " + "," + "' Me.TextBox7.Text'" + "," + " 'Me.ComboBox3.Text'" + ")'"
					 Me.OleDbDataAdapter1.InsertCommand.ExecuteReader()
		Catch ex as Exception
msgbox(ex.message)

			Me.TextBox24.Text = ""
			Me.TextBox23.Text = ""
			Me.TextBox22.Text = ""
			Me.TextBox21.Text = ""
			Me.TextBox20.Text = ""
			Me.TextBox19.Text = ""
			Me.TextBox18.Text = ""
			Me.TextBox17.Text = ""
			Me.TextBox16.Text = ""
			Me.TextBox15.Text = ""
			Me.TextBox14.Text = ""
			Me.TextBox7.Text = ""
			Me.ComboBox3.Text = ""
			Me.OleDbConnection1.Close()
		End Try

تحياتي

063bx.gif
#5

الشئ الوحيد الذي تضعه داخل بلوك catch هي الأوامر التي تنفذ عند حصول خطأ

#6

أسف على التأخير

الرساله خطأ هي:

Syntex error in Insert Into statement

علما أني رابطه مع عدة جداول (relationship)

Libriry_System.rar

تعلم فليس المرء يولد عالماً------ وليس أخو علماً كمن هو جاهلا

العلم نور وجمال يقتبس--------------- صاحبه مكرم اين ما جلس

من فاته العلم ساعة تظعظع ونتكس----شتان شتان بين حمار وفرس

#7

وهذه قاعدة البيانات في Access

library_system.rar

تعلم فليس المرء يولد عالماً------ وليس أخو علماً كمن هو جاهلا

العلم نور وجمال يقتبس--------------- صاحبه مكرم اين ما جلس

من فاته العلم ساعة تظعظع ونتكس----شتان شتان بين حمار وفرس

#8

شكرا لكل من حاول مساعدتي

لكن مازالت نفس المشكله وقد حاولت عشرات المرات بدون جدوى

أرجوا من الجميع المساعده لني محتاج الكود ضروري

وشكرا

تعلم فليس المرء يولد عالماً------ وليس أخو علماً كمن هو جاهلا

العلم نور وجمال يقتبس--------------- صاحبه مكرم اين ما جلس

من فاته العلم ساعة تظعظع ونتكس----شتان شتان بين حمار وفرس

#9
اقتباس
"," + "'Me.TextBox23.Text'"

كيف بتاخذ قيمة التكست بوكس بين " " ؟؟

حاول تتأكد من الجملة الادخال عن طريق تتبع البرنامج BreakPoint

#10

غيرت أسماء التكس بوكس وصار

Me.OleDbInsertCommand1.CommandText = "insert into book values(Me.BK_AccessionNO.Text,'Me.BK_Title.Text'" + "," + "Me.BK_ISBN.Text " + ",'Me.BK_publisher.Text','Me.BK_Auther.Text'+'Me.BK_section.Text','Me.BK_Edition.Text','Me.BK_State.Text'," + "Me.BK_Price.Text," + "Me.BK_yearOfPublication.Text" + ",' Me.BK_IdPublisher.Text','Me.BK_SupplyId.Text', 'Me.BK_Languge.Text'" + ")"

تتطلع رسالة خطأ هي

parameter ME.BK_Accession.Text has no default value

تم تعديل هذه المشاركة بواسطة Al-Mohana في 4 ديسمبر 2006 في 19:38

تعلم فليس المرء يولد عالماً------ وليس أخو علماً كمن هو جاهلا

العلم نور وجمال يقتبس--------------- صاحبه مكرم اين ما جلس

من فاته العلم ساعة تظعظع ونتكس----شتان شتان بين حمار وفرس

#11

المشكلة ليست مشكلة أسماء الـtextbox. المشكلة هي أنك تضعها داخل علامات التنصيص. أي شئ داخل علامات التنصيص ينقل كما هو أي أن الذي يدخل في الكويري هو اسم الـtextbox و ليس قيمته.

#12
System Down كتب:
المشكلة ليست مشكلة أسماء الـtextbox. المشكلة هي أنك تضعها داخل علامات التنصيص. أي شئ داخل علامات التنصيص ينقل كما هو أي أن الذي يدخل في الكويري هو اسم الـtextbox و ليس قيمته.

السلام عليكم

أعتقد مشكلتي في عملية التنصيس " و ' '

ممكن تعطييني مثال

علما أن الحقول تنقسم ألى Text,number,date/time

تعلم فليس المرء يولد عالماً------ وليس أخو علماً كمن هو جاهلا

العلم نور وجمال يقتبس--------------- صاحبه مكرم اين ما جلس

من فاته العلم ساعة تظعظع ونتكس----شتان شتان بين حمار وفرس

#13

أخي الكريم المشكلة واضحة وبسيطة وسأشرحها لك كالاتي

في جملة الادخال يجب انت تكون الصيغة كالاتي

insert into tablename (f1,f2,f3) values ('1','2','3')

هذه هي الصغية يعني قيمة المدخلات تكون بين علامتي تنصيص

طيب لنفترض انك تقرا القيم من تكست بوكس او متغيرات فتكون كالاتي

insert into tablename (f1,f2,f3) values ('"& textbox1.text &"','"& textbox2.text &"',''"& Var1 &"'')

انت مشكلتك انك لم تضع علامة التنصيص في جملة insert

ارجو ان تكون واضحة

تحياتي

<span style='color:green'>سؤل ابن عباس عن علمه كيف جمعه فقال :( أوتيت لسانا سؤولا وقلبا عقولا)</span>

#14

ماذا تعني (f1,f2,f3) هل هي أسماء الحقول

وأذا كان الحقل number يختلف في كتابة الكود

تعلم فليس المرء يولد عالماً------ وليس أخو علماً كمن هو جاهلا

العلم نور وجمال يقتبس--------------- صاحبه مكرم اين ما جلس

من فاته العلم ساعة تظعظع ونتكس----شتان شتان بين حمار وفرس

#15
Al-Mohana كتب:
ماذا تعني (f1,f2,f3) هل هي أسماء الحقول

وأذا كان الحقل number يختلف في كتابة الكود

لما بتستخدم الانسرت ممكن انك تدخل قيم محددة لحقول معينة من دون غيرها بالطريقة السابقة انك تحدد القيم المدخلة فقط ( بس لازم التأكد من ادخال الحقول المطلوبة في جدول بيانات القاعدة ) يعني

 insert into tablename (f1,f2,f3) values ('1','2','3')

ممكن نستبدلها بـ

insert into tablename values ('1','2','3')

بس في حالة

insert into tablename values ('2','3')

لا يمكن ذلك لان القيم المدخلة في الجملة السابقة أقل عدد من الحقول الموجودة في الجدول يعني لازم نضيف قيمة ثالثة ..

2. اما اذا كان الحقل عدد ممكن استخدام الطريقة التالية

 insert into tablename (f1,f2,f3) values (1,2,3)

من دون '

#16

أذا كان table

مرتبط مع عدة جداول أخرى

يعني جدول Aمرتبط مع B,C في Ms Access

و أردت أن أدخل القيم في A هل أستخدم نفس الكود

تعلم فليس المرء يولد عالماً------ وليس أخو علماً كمن هو جاهلا

العلم نور وجمال يقتبس--------------- صاحبه مكرم اين ما جلس

من فاته العلم ساعة تظعظع ونتكس----شتان شتان بين حمار وفرس

#17

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

اما f1,f2,f3 فهي فعلا اسماء الحقول طبعا انت تحط الحقول تبعك

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

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

فرضا لو حاول ادخال رقم 1 في جدول A وهذه القيمة مرتبطه مع B وهيه غير موجودة في جدول B فسوف يطلع لك خطا اذا كانت العلاقة تفرض ادخال القيم الموجودة في جدولB فقط

اما ان لم تكن تفرض فلا مشكلة

<span style='color:green'>سؤل ابن عباس عن علمه كيف جمعه فقال :( أوتيت لسانا سؤولا وقلبا عقولا)</span>

#18

السلام عليكم

شكرا لكل من ساعدني في حل المشكله

الكود شغال و هو

  Me.OleDbDataAdapter1.InsertCommand.CommandText = "insert into book(BK_AccessionNO,Bk_Title,BK_ISBN,BK_publisher,BK_Auther,BK_Section,BK_Editions,BK_state,BK_Price,BK_YearOfPublications,BK_IdPublish,BK_SupplyId,BK_Languge) values('" & Me.BK_AccessionNO.Text & "','" & Me.BK_Title.Text & "','" & Me.BK_ISBN.Text & "','" & Me.BK_publisher.Text & "','" & Me.BK_Auther.Text & "','" & Me.BK_section.Text & "','" & Me.BK_Editions.Text & "','" & Me.BK_State.Text & "','" & Me.BK_Price.Text & "','" & Me.BK_yearOfPublications.Text & "','" & Me.BK_IdPublish.Text & "','" & Me.BK_SupplyId.Text & "','" & Me.BK_Languge.Text & "')"



		Me.OleDbDataAdapter1.InsertCommand.ExecuteNonQuery()

تم تعديل هذه المشاركة بواسطة Al-Mohana في 5 ديسمبر 2006 في 23:44

تعلم فليس المرء يولد عالماً------ وليس أخو علماً كمن هو جاهلا

العلم نور وجمال يقتبس--------------- صاحبه مكرم اين ما جلس

من فاته العلم ساعة تظعظع ونتكس----شتان شتان بين حمار وفرس

هذا الموضوع مغلق.