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

كتبت كود لتعديل بيانات سجل باستخدام البارامترات

[HTML]Dim cmd As New OleDbCommand("update Zatea set Customer=@txt_Customer,Area=@Area_Combobox, Bayan=@lbox_bayan, Phone1=@txt_Phone1, Phone2=@txt_Phone2, Mobile=@txt_mobile, Fax=@txt_Fax, Email=@txt_Email,Notes=@txt_Note where zatea_id=txt_Zatea_id.text", Conn)


cmd.Parameters.AddWithValue("@Customer", OleDbType.VarChar).Value = txt_Customer.Text

cmd.Parameters.AddWithValue("@Area", OleDbType.VarChar).Value = Area_Combobox.Text
cmd.Parameters.AddWithValue("@bayan", OleDbType.VarChar).Value = lbox_Bayan.SelectedItem

'cm.Parameters.AddWithValue("@age", OleDbType.Integer).Value = Val(age.Text)
'cm.Parameters.AddWithValue("@dob", OleDbType.Date).Value = dob.Text

cmd.Parameters.AddWithValue("@Phone1", OleDbType.VarChar).Value = txt_Phone2.Text
cmd.Parameters.AddWithValue("@Phone2", OleDbType.VarChar).Value = txt_Phone1.Text
cmd.Parameters.AddWithValue("@Mobile", OleDbType.VarChar).Value = txt_Mobile.Text
cmd.Parameters.AddWithValue("@Fax", OleDbType.VarChar).Value = txt_fax.Text

cmd.Parameters.AddWithValue("@Email", OleDbType.VarChar).Value = txt_Email.Text
cmd.Parameters.AddWithValue("@Notes", OleDbType.VarChar).Value = txt_Note.Text


DataConnection()

Try
cmd.ExecuteNonQuery()
MsgBox("تم التعديل بنجاح", MsgBoxStyle.Information, "")
Catch ex As Exception
MsgBox(Err.Description, MsgBoxStyle.Critical, "")

End Try[/HTML]
الرد }}}
تم الشكر بواسطة:
#2
كود :
cmd.Parameters.AddWithValue("@Phone1", OleDbType.VarChar).Value = txt_Phone2.Text
cmd.Parameters.AddWithValue("@Phone2", OleDbType.VarChar).Value = txt_Phone1.Text
cmd.Parameters.AddWithValue("@Mobile", OleDbType.VarChar).Value = txt_Mobile.Text


ما نوع البيانات التي نسختها انا من موضوعك؟ ان كان رقم فضع بدل كلمة varchar ضع نوع int او integer
اللهم إني أعوذ بك من غلبة الدين وغلبة العدو، اللهم إني أعوذ بك من جهد البلاء ومن درك الشقاء ومن سوء القضاء ومن شماتة الأعداء
اللهم اغفر لي خطيئتي وجهلي، وإسرافي في أمري وما أنت أعلم به مني، اللهم اغفر لي ما قدمت وما أخرت، وما أسررت وما أعلنت وما أنت أعلم به مني، أنت المقدم وأنت المؤخر وأنت على كل شيء قدير
الرد }}}
تم الشكر بواسطة:
#3
وما هي رسالة الخطا؟؟
اللهم إني أعوذ بك من غلبة الدين وغلبة العدو، اللهم إني أعوذ بك من جهد البلاء ومن درك الشقاء ومن سوء القضاء ومن شماتة الأعداء
اللهم اغفر لي خطيئتي وجهلي، وإسرافي في أمري وما أنت أعلم به مني، اللهم اغفر لي ما قدمت وما أخرت، وما أسررت وما أعلنت وما أنت أعلم به مني، أنت المقدم وأنت المؤخر وأنت على كل شيء قدير
الرد }}}
تم الشكر بواسطة:
#4
السلام عليكم

شكرا اخي سعود على اجابتك

نوع البيانات هي من النوع string

ورسالة الخطأ
No value given for one or more required Parameters

وفيما يلي المثال

ارجو تعديل الكود المرفق بالمثال، والاشارة الى مكمن الخطأ الذي وقعت فيه، حتى اتعلم

والف شكر
وكل عام وانتم بخير


الملفات المرفقة صورة/صور
   

.rar   Edit_Problam Parameter.rar (الحجم : 197.06 ك ب / التحميلات : 50)
الرد }}}
تم الشكر بواسطة:
#5
الخطا اللي واجهني بالمثال هو
إقتباس :Update requires a valid InsertCommand when passed DataRow collection with new rows.

ويعني لابد من اضافة كائن امر ادخال

والحل هكذا
بعد تعريف da التعريف الاول
كود :
Dim da As OleDb.OleDbDataAdapter

اسفلها نكتب
كود :
Dim ic As OleDbCommandBuilder


والتعيين لـ da
كود :
da = New OleDb.OleDbDataAdapter(SQL, Conn)

نكتب بعده التالي:
كود :
ic = New OleDbCommandBuilder(da)
اللهم إني أعوذ بك من غلبة الدين وغلبة العدو، اللهم إني أعوذ بك من جهد البلاء ومن درك الشقاء ومن سوء القضاء ومن شماتة الأعداء
اللهم اغفر لي خطيئتي وجهلي، وإسرافي في أمري وما أنت أعلم به مني، اللهم اغفر لي ما قدمت وما أخرت، وما أسررت وما أعلنت وما أنت أعلم به مني، أنت المقدم وأنت المؤخر وأنت على كل شيء قدير
الرد }}}
تم الشكر بواسطة:
#6
اوووووووووووه معلش سانظر بكود التعديل Smile
اللهم إني أعوذ بك من غلبة الدين وغلبة العدو، اللهم إني أعوذ بك من جهد البلاء ومن درك الشقاء ومن سوء القضاء ومن شماتة الأعداء
اللهم اغفر لي خطيئتي وجهلي، وإسرافي في أمري وما أنت أعلم به مني، اللهم اغفر لي ما قدمت وما أخرت، وما أسررت وما أعلنت وما أنت أعلم به مني، أنت المقدم وأنت المؤخر وأنت على كل شيء قدير
الرد }}}
تم الشكر بواسطة:
#7
انظر المثال بعد التعديل


الملفات المرفقة
.zip   My_First_Quation.zip (الحجم : 207.67 ك ب / التحميلات : 60)
اللهم إني أعوذ بك من غلبة الدين وغلبة العدو، اللهم إني أعوذ بك من جهد البلاء ومن درك الشقاء ومن سوء القضاء ومن شماتة الأعداء
اللهم اغفر لي خطيئتي وجهلي، وإسرافي في أمري وما أنت أعلم به مني، اللهم اغفر لي ما قدمت وما أخرت، وما أسررت وما أعلنت وما أنت أعلم به مني، أنت المقدم وأنت المؤخر وأنت على كل شيء قدير
الرد }}}
تم الشكر بواسطة:
#8
لما لا تستخدم الكود هكذا

PHP كود :
Dim UpdateStr As String "Update Table1 Set Column1 = @Column1,Column2 = @Column2,Column3 = @Column3 Where Column1 = @OldColumn1"
        
Dim UpdateCmd As New OleDbCommand(UpdateStrCon)

        
UpdateCmd.Parameters.Add("@Column1"OleDbType.Char20"Column1")
        
UpdateCmd.Parameters.Add("@Column2"OleDbType.Char20"Column2")
        
UpdateCmd.Parameters.Add("@Column3"OleDbType.Char20"Column3")
        
UpdateCmd.Parameters.Add("OldColumn1"OleDbType.Char20"Column1").SourceVersion DataRowVersion.Original

        Dim DataAdapter1 
As New OleDbDataAdapter
        DataAdapter1
.UpdateCommand UpdateCmd 
قم بعلم ولا تطلب به بدلا             فالناس موتى وأهل العلم احياء

الامام على رضوان الله عليه
الرد }}}
تم الشكر بواسطة:
#9
الف الف شكر اخي
سعود
وجزاك الله الف خير، وضاعف اجرك في هذه الايام الفضيلة
تتبعت الحل الذي تفضلت به، وعرفت اين خطئي

بارك الله فيك
والسلام عليكم
الرد }}}
تم الشكر بواسطة:
#10
شكرا اخي
ahmed_Online
ساجرب الطريقة التي تفضلت بها

والف شكر على محاولتك اجابتي
والسلام عليكم
الرد }}}
تم الشكر بواسطة:



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


يقوم بقرائة الموضوع: