تقييم الموضوع :
  • 0 أصوات - بمعدل 0
  • 1
  • 2
  • 3
  • 4
  • 5
ترتيب البارمترات
#1
السلام عليكم ورحمه الله وبركاته


عندما يختلف ترتيب البارمترات في جمله الاستعلام مع البارمترات يعطي خطأ

مثل
كود :
'   "INSERT INTO tb (p_name,id) VALUES (@p_name,@id)"
اذا كتبت البارمترات هكذا يعطيني خطأ
كود :
'   Cmd.Parameters.AddWithValue("@id", TextBox1.Text)
Cmd.Parameters.AddWithValue("@p_name", TextBox2.Text)
لابد ان اكتب البارمترات بنفس ترتيب جمله الاستعلام .. كيف يمكن معالجه هذه النقطه
انا اريد ان يتم كتابه البارميتر بأي ترتيب دون حدوث خطأ
الرد }}}
تم الشكر بواسطة:
#2
انسخ الخطأ هاهنا

نصيحة عامة استخدموا امكانيات التنقيح في الفيجوال ستوديو لاسيما خاصية التنقيح سطر سطر ، واختيار مكان التنقيح عن طريق Break Points أو الكلمة المحجوزة Stop
الرد }}}
تم الشكر بواسطة:
#3
غريبه انا ما يعطي خطا ،، يمكن لان اسماء الحقول تشابه أسماء البار ميتر

ممكن تغير اسم البارميتر او تزيد عليه حروف مثل par_ ثم اسم الحقل

جرب

مثال


كود :
Dim con As New OleDbConnection("Provider=Microsoft.Jet.OLEDB.4.0;Data Source=D:\for my folder\my new project\حقيبة المبرمج\WindowsApplication39\bin\Debug\library code.mdb")
Dim insertcommand As New OleDbCommand("insert into subject_library (  subject_content , subject_node , subject_name , subject_tool , subject_notes) values ( subject_content= @Par_subject_content , subject_node= @Par_subject_node , subject_name= @Par_subject_name , subject_tool= @Par_subject_tool , subject_notes= @Par_subject_notes)", con)
insertcommand.Parameters.Clear()
insertcommand.Parameters.AddWithValue("@Par_subject_content", OleDbType. WChar).Value = Trim(TextBox1.Text)
insertcommand.Parameters.AddWithValue("@Par_subject_node", OleDbType. WChar).Value = Trim(TextBox2.Text)
insertcommand.Parameters.AddWithValue("@Par_subject_name", OleDbType. WChar).Value = Trim(TextBox3.Text)
insertcommand.Parameters.AddWithValue("@Par_subject_tool", OleDbType. WChar).Value = Trim(TextBox4.Text)
insertcommand.Parameters.AddWithValue("@Par_subject_notes", OleDbType. WChar).Value = Trim(TextBox5.Text)

con.Open()
insertcommand.ExecuteNonQuery()
con.Close()
الرد }}}
تم الشكر بواسطة:
#4
أبو يعقوب كتب :انسخ الخطأ هاهنا

نصيحة عامة استخدموا امكانيات التنقيح في الفيجوال ستوديو لاسيما خاصية التنقيح سطر سطر ، واختيار مكان التنقيح عن طريق Break Points أو الكلمة المحجوزة Stop


ممكن توووضح اكثر و تستخدم مثال عنها Smile
الرد }}}
تم الشكر بواسطة:
#5
ركز على الطريقة الي استخدمتها


إقتباس :"insert into subject_library ( subject_content , subject_node , subject_name , subject_tool , subject_notes) values ( subject_content= @Par_subject_content , subject_node= @Par_subject_node , subject_name= @Par_subject_name , subject_tool= @Par_subject_tool , subject_notes= @Par_subject_notes)"

و لا عمرها سببت لي مشكله
الرد }}}
تم الشكر بواسطة:
#6
السكر المغرور كتب :ممكن توووضح اكثر و تستخدم مثال عنها Smile

أنا شخصيا استخدم الكلمة Stop

اكتب هذه الكلمة أينما أردت وعندما يصل لها البرنامج سينتقل الفيجوال ستوديو بك إلى الكود وتستطيع المتابعة سطر سطر بواسطة الزر F11 وبهذا تستطيع مراقبة القيم والعمليات
الرد }}}
تم الشكر بواسطة:
#7

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





[SIZE=5]مسألة البارامترات وجملة الاستعلام من حيث الترتيب وتطابق الاسماء،،،،،،،،

مع OleDb يكــــــــون التدقيق في
الترتيـب فقط بغض النظر عن تطابق الاسمـاء،

مع SqlClient يكون التدقيق في
الاسمـاء فقط[/SIZE] بغض النظر عن تطابق الترتيب.





السلام عليكم ورحمة الله وبركاته
الرد }}}
تم الشكر بواسطة:
#8
شكرا لك اخي أبو يعقوب جزاك الله خيرا ،، انا بالفعل استخدم Break Points لاحدد مصدر الخطأ
اخي السكرر المغرور جزاك الله خيرا ،، انا ايضا لا تواجهني مشكله في الترتيب ولكن مع السيكوال سيرفر Smile
استاذي ابو رائد ،، جزاك الله خيرا حضرتك قولت المفيد وده اللي انا اتوصلتله بعد عناء ...
الرد }}}
تم الشكر بواسطة:
#9
السكر المغرور كتب :ركز على الطريقة الي استخدمتها




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

شكرا لك اخي لم اخذ بالي من طريقتك في اعطاء قيمه للبارميتر الا الان
الطريقه تبدو جيده سأقوم بتجربتها

ولكن كيف يتم استخدام نفس الطريقه في التعديل ؟؟

جزاك الله خيرااااا
الرد }}}
تم الشكر بواسطة:
#10
هكذا اخي


كود :
Dim con As New OleDbConnection("Provider=Microsoft.Jet.OLEDB.4.0;Data Source=D:\for my folder\my new project\WindowsApplication39\bin\Debug\library code.mdb")
Dim editcommand As New OleDbCommand("Update subject_library set  subject_content= @Par_subject_content , subject_name= @Par_subject_name , subject_node= @Par_subject_node , subject_notes= @Par_subject_notes , subject_tool= @Par_subject_tool  ", con)
editcommand.Parameters.Clear()
editcommand.Parameters.AddWithValue("@Par_subject_content", OleDbType. WChar).Value = Trim(TextBox1.Text)
editcommand.Parameters.AddWithValue("@Par_subject_name", OleDbType. WChar).Value = Trim(TextBox2.Text)
editcommand.Parameters.AddWithValue("@Par_subject_node", OleDbType. WChar).Value = Trim(TextBox3.Text)
editcommand.Parameters.AddWithValue("@Par_subject_notes", OleDbType. WChar).Value = Trim(TextBox4.Text)
editcommand.Parameters.AddWithValue("@Par_subject_tool", OleDbType. WChar).Value = Trim(TextBox5.Text)

con.Open()
editcommand.ExecuteNonQuery()
con.Close()
الرد }}}
تم الشكر بواسطة:



التنقل السريع :


يقوم بقرائة الموضوع: بالاضافة الى ( 1 ) ضيف كريم