PDA

View Full Version : خطا در insert



qqq2qqq
سه شنبه 18 خرداد 1389, 07:55 صبح
Dim cominsert AsNew SqlCommand("insert into bok id_student=@idstudent,name=@name,family=@family,f_ name=@fname,meli_code=@melicode,t_date=@tdate,t_oz viat=@tozviat,reshte=@reshte,maghta=@maghta,addres s=@address")
Dim idstudent AsNew SqlParameter("@idstudent", txtcodeozv)
Dim name AsNew SqlParameter("@name", txtnameozv)
Dim family AsNew SqlParameter("@family", txtfamilyozv)
Dim fname AsNew SqlParameter("@fname", txtFnameozv)
Dim melicode AsNew SqlParameter("@melicode", txtcodemeliozv)
Dim tdate AsNew SqlParameter("@tdate", txttdateozv)
Dim tozviat AsNew SqlParameter("@tozviat", txttozv)
Dim reshte AsNew SqlParameter("@reshte", txtreshteozv)
Dim maghta AsNew SqlParameter("@maghta", txtmaghtaozv)
Dim address AsNew SqlParameter("@address", txtadresozv)
cominsert.Parameters.Add(New SqlParameter() {idstudent, name, family, fname, melicode, tdate, tozviat, reshte, maghta, address})
cn.Open()
cominsert.ExecuteNonQuery()
cn.Close()

اما در خط cominsert.parameters.addخطای زیر رو می ده، لطفا یکی راهنمایی کنه

The SqlParameterCollection only accepts non-null SqlParameter type objects, not SqlParameter[] objects.

ricky22
سه شنبه 18 خرداد 1389, 08:00 صبح
Dim cominsert AsNew SqlCommand("insert into bok id_student=@idstudent,name=@name,family=@family,f_ name=@fname,meli_code=@melicode,t_date=@tdate,t_oz viat=@tozviat,reshte=@reshte,maghta=@maghta,addres s=@address")
Dim idstudent AsNew SqlParameter("@idstudent", txtcodeozv)
Dim name AsNew SqlParameter("@name", txtnameozv)
Dim family AsNew SqlParameter("@family", txtfamilyozv)
Dim fname AsNew SqlParameter("@fname", txtFnameozv)
Dim melicode AsNew SqlParameter("@melicode", txtcodemeliozv)
Dim tdate AsNew SqlParameter("@tdate", txttdateozv)
Dim tozviat AsNew SqlParameter("@tozviat", txttozv)
Dim reshte AsNew SqlParameter("@reshte", txtreshteozv)
Dim maghta AsNew SqlParameter("@maghta", txtmaghtaozv)
Dim address AsNew SqlParameter("@address", txtadresozv)
cominsert.Parameters.Add(New SqlParameter() {idstudent, name, family, fname, melicode, tdate, tozviat, reshte, maghta, address})
cn.Open()
cominsert.ExecuteNonQuery()
cn.Close()
اما در خط cominsert.parameters.addخطای زیر رو می ده، لطفا یکی راهنمایی کنه

دوست عزیزم خطا رو که نگزاشتین!
اگه مقدوره پروژه رو up کنید.
در ضمن یه پیشنهاد : MIcrosoft application block (http://barnamenevis.org/forum/showthread.php?t=76988)
اینجور کارا رو راحت می کنه.

qqq2qqq
سه شنبه 18 خرداد 1389, 09:18 صبح
دوست عزیزم خطا رو که نگزاشتین!
اگه مقدوره پروژه رو up کنید.
در ضمن یه پیشنهاد : MIcrosoft application block (http://barnamenevis.org/forum/showthread.php?t=76988)
اینجور کارا رو راحت می کنه.
این هم خطایی که می گیره
The SqlParameterCollection only accepts non-null SqlParameter type objects, not SqlParameter[] objects.

ricky22
سه شنبه 18 خرداد 1389, 12:11 عصر
همه پارامترا رو مقدار دادی؟

pourang_us
سه شنبه 18 خرداد 1389, 12:38 عصر
دوست عزیز
شما باید برای مقدار پارامترهایی که خالی هستند از DbNull استفاده کنی


موفق باشی

ashkan209
سه شنبه 18 خرداد 1389, 12:53 عصر
Dim cominsert AsNew SqlCommand("insert into bok id_student=@idstudent,name=@name,family=@family,f_ name=@fname,meli_code=@melicode,t_date=@tdate,t_oz viat=@tozviat,reshte=@reshte
,maghta=@maghta,addres s=@address")
Dim idstudent AsNew SqlParameter("@idstudent", txtcodeozv)
Dim name AsNew SqlParameter("@name", txtnameozv)
Dim family AsNew SqlParameter("@family", txtfamilyozv)
Dim fname AsNew SqlParameter("@fname", txtFnameozv)
Dim melicode AsNew SqlParameter("@melicode", txtcodemeliozv)
Dim tdate AsNew SqlParameter("@tdate", txttdateozv)
Dim tozviat AsNew SqlParameter("@tozviat", txttozv)
Dim reshte AsNew SqlParameter("@reshte", txtreshteozv)
Dim maghta AsNew SqlParameter("@maghta", txtmaghtaozv)
Dim address AsNew SqlParameter("@address", txtadresozv)
cominsert.Parameters.Add(New SqlParameter() {idstudent, name, family, fname, melicode, tdate, tozviat, reshte, maghta, address})
cn.Open()
cominsert.ExecuteNonQuery()
cn.Close()


کلمه address وسطش یه دونه space افتاده

qqq2qqq
سه شنبه 18 خرداد 1389, 14:03 عصر
کلمه address وسطش یه دونه space افتاده[/quote]


همه پارامتر ها رو مقدار دادم، در ضمن تو vb من address رو درست دادم احتمالا تو past کردنش اشتباه کرم

ashkan209
چهارشنبه 19 خرداد 1389, 08:11 صبح
دوست من
احتمالا یکی از مقادیری که به sqlparameter ارسال میشه Null هست
به انتهای textbox هایی که از نوع string دیتا میگیرند .tostring.trim اضافه کنید
مثل این:

Dim family AsNew SqlParameter("@family", txtfamilyozv.text.tostring.trim)