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

ما الخطأ فى كود الحفظ هذا

مغلق
بدأه kareemovitch في 3 ديسمبر 2006 · 12 رد · 1,104 مشاهدة · في ADO.NET
مشاركة: واتساب X فيسبوك تيليجرام
#1 صاحب الموضوع

Dim f1, f2, f3, f4, f5, f6, f7 As String

Dim f8, f9 As String

f1 = "'" & TextBox1.Text & "', "

f2 = "'" & TextBox2.Text & "',"

f3 = "'" & TextBox3.Text & "',"

f4 = "'" & TextBox4.Text & "',"

f5 = "'" & TextBox5.Text & "',"

f6 = "'" & TextBox6.Text & "',"

f7 = "'" & TextBox7.Text & "',"

f8 = "'" & TextBox8.Text & "',"

f9 = "'" & DateTimePicker1.Value & "'"

'=======================================

'وضع جملة الاستعلام فى متغير نصى

s = " insert into section1(

,[sname],[roomnum],[notes],[workernum],[sdate],[funds],[payments],[totalfunds]) values ""(" & f1 & f2 & f3 & f8 & f4 & f9 & f5 & f6 & f7 & " )"

'========================================

'جعل الكوماند يأخذ جمل الاستعلام من المتغير النصى

cmd.CommandText = s

'========================================

'تنفيذ جملة الاستعلام و حفظ السجل

h = cmd.ExecuteNonQuery

MsgBox(h & "DATA SAVED")

'=======================================

يعطينى ايرور فى جماة الانسرت

ارجو الرد مع الشرح

#2

السلام عليكم

سؤال صغير المتغير h ايه وظيفته ؟و نوعه؟

و انت ليه مساويه بتنفيذ الامر؟

و هل انت جربت جمله الانسرت على Query Analyzer لوحده؟

و لا المشكله من الفيجوال بيزيك نفسه؟ و بيطلعلك اكسبشن System Error ؟

ياريت توضح اكتر

ربنا يوفقك

تم تعديل هذه المشاركة بواسطة Moustafa Karrar في 3 ديسمبر 2006 في 05:16

لا علم لنا إلا ما علمتنا

و قل رب زدنى علما

و لئن شكرتم لأزيدنكم

#3

المشكله انك في اعلان المتغير f9 افترضت انه اخر معامل في ترتيب جمله الادخال، لكنك لم تقم بوضعه في اخر المعاملات ووضعت المتغير f7 كاخر معامل.

يصبح الحل كلاتي:

Dim f1, f2, f3, f4, f5, f6, f7 As String
Dim f8, f9 As String
f1 = "'" & TextBox1.Text & "',"
f2 = "'" & TextBox2.Text & "',"
f3 = "'" & TextBox3.Text & "',"
f4 = "'" & TextBox4.Text & "',"
f5 = "'" & TextBox5.Text & "',"
f6 = "'" & TextBox6.Text & "',"
f7 = "'" & TextBox7.Text & "'"
f8 = "'" & TextBox8.Text & "',"
f9 = "'" & DateTimePicker1.Value & "',"

s = "insert into section1([code],[sname],[roomnum],[notes],[workernum],[sdate],[funds],[payments]
,[totalfunds]) values(" & f1 & f2 & f3 & f8 & f4 & f9 & f5 & f6 & f7 & " )"

ارجو ان يكون الحل واضحا.

لكن على اي حال الطريقه اللتي استخدمتها في برنامجك ليست الطريقه المثلى للتعامل مع جمل sql والدليل على ذلك الخطاء الغير مقصود اللذي وقعت فيه، هذه طريقه افضل نوعا ما من الطريق السابقه:

Dim f1, f2, f3, f4, f5, f6, f7 As String
Dim f8, f9 As String
f1 = TextBox1.Text
f2 = TextBox2.Text
f3 = TextBox3.Text
f4 = TextBox4.Text
f5 = TextBox5.Text
f6 = TextBox6.Text
f7 = TextBox7.Text
f8 = TextBox8.Text
f9 = DateTimePicker1.Value

s = "insert into section1([code],[sname],[roomnum],[notes],[workernum],[sdate],[funds],[payments]
,[totalfunds]) values('" & f1 &"','" & f2 &"','"& f3 &"','"& f8 &"','"& f4 &"','"& f9 &"','"& f5 &"','"& f6 &"','"& f7 & "' )"
#4

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

ولكن هذه الرساله مازالت تظهر لى

ومعناها خطأ فى جملة الانسيرت

ارجو الرد على وارشادى الى افضل طريقه للحفظ وشكرا

#5

أخي الكود الأخير في رد الأخ عبدالباسط يعمل بشكل صحيح تأكد من Table stracture للجدول section1

#6

1. ما هو الخظأ اللي بيطلعلك

2. هل انت متأكد من نوع البيانات في قاعدة البيانات

#7

السلام عليكم

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

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

لا علم لنا إلا ما علمتنا

و قل رب زدنى علما

و لئن شكرتم لأزيدنكم

#8

والله يا اخوانى الخطأ بيظهرلى

فى السطر التالى

h = cmd.ExecuteNonQuery

والرساله هى

Syntax error in INSERT INTO statement.

والكود بتاعى

'==================================================

'الاعلان عن متغيرات حفظ القيم

Dim f1, f2, f3, f4 As String

f1 = ComboBox1.Text

f2 = TextBox1.Text

f3 = TextBox2.Text

f4 = TextBox3.Text

'=======================================

'وضع جملة الاستعلام فى متغير نصى

s = " insert into PRICE([sname],[seRVICE],[PRICE],[sECTION]) values ""('" & f1 & "','" & f2 & "','" & f3 & "','" & f4 & "' )"

'========================================

'جعل الكوماند يأخذ جمل الاستعلام من المتغير النصى

cmd.CommandText = s

'========================================

'تنفيذ جملة الاستعلام و حفظ السجل

h = cmd.ExecuteNonQuery

MsgBox(h & "DATA SAVED"

'=======================================

ارجو الرد يا اخوانى

#9

قد تكزن المشكلة في أسماء الحقول..

جرب تغير في أسماء الحقول و تشيل الأقواس حولها..

lxcs.png

syria-flag_small.jpg

#10

متغير h ايه نوعه و وظيفته

لا علم لنا إلا ما علمتنا

و قل رب زدنى علما

و لئن شكرتم لأزيدنكم

#11

أعتقد أن مشكلتك هي في نوعية الحقول الموجوده فى قاعدة البيانات للجدول section1 جربت نفس مثالك و عمل بشكل جيد

تأكد أن الحقل sdate عباره عن datetime

#12

لمعرفة المشكلة بالضبط ..

أعمل تتبع باستخدام الPrakepoint

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

#13

شكرأ يا اخوانى الكود فعال والحمد لله

وااله كان فى سؤال عندى

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

كنت عايز المؤشر فى الداتا جريد يتحرك مع تغيير الداتا

وشكرأ

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

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