PDA

View Full Version : اشکال این کد چیه؟



m_zamani
چهارشنبه 16 اسفند 1385, 14:32 عصر
Private Sub insert()
Dim cmh As SqlClient.SqlCommand
Try
Dim strsqlo As String
strsqlo = " INSERT INTO hamrah (nameh,familyh,per_fa,per_no,nesbat,room_noh) VALUES (N'" & na_h.Text & "',N'" & fa_h.Text & "',N'" & per_f.Text & "',N'" & per_n.Text & "',N'" & nes.Text & "',N'" & ro_no.Text & "'"
cmh = New SqlClient.SqlCommand(strsqlo, con)
cmh.ExecuteNonQuery()
MsgBox(" £ ¢ ¬§.")
Catch ex As Exception
MsgBox(ex.Message, MsgBoxStyle.OkOnly)
End Try
End Sub


اشکال این کد چیه؟

m_zamani
چهارشنبه 16 اسفند 1385, 14:55 عصر
خیلی جالبه برنامه وقتی می خوام اطلاعات تکست باکسها رو بریزم تو table پیغام خطا میده اما کار برنامه متوقف نمیشه
پیغامش اینه:
syntax error near شماره اتاق
شماره خط رو یک میده از کجا باید شماره خط رو پیدا کنم؟

__H2__
چهارشنبه 16 اسفند 1385, 15:11 عصر
سلام
میبخشید میشه بگید پرانتز بسته INSERT INTO VALUES کجا رفته؟

m_zamani
یک شنبه 20 اسفند 1385, 09:38 صبح
پرانتز بسته اینجا جا افتاده اما تو برنامه هست

__H2__
یک شنبه 20 اسفند 1385, 11:09 صبح
سلام
آن خطا مربوط به خود دستور SQL است که وارد کرده اید و شماره خط یک یعنی اولین خط دستور SQL که همان INSERT است.

پیشنهاد میکنم، مجدداَ تایپ دستور را چک کنید، نام جدول صحیح است؟ نام ستون ها چطور؟ آیا همه فیلدهایتان از نوع Unicode String هستند؟ (ncahr-nvarchar-ntext)


گرچه همچنان میگویم خطا مربوط به خود دستور SQL است، ولی Connection را قبلاَ باز کرده اید (Open)

ضمناَ دستور cmh.CommandType=CommandType.Text را هم حتماَ قبل از اجرای دستور اضافه کنید، شاید مشکلتان حل شود.

Alireza_Salehi
یک شنبه 20 اسفند 1385, 12:26 عصر
این روشی که برای دادن پارامتر ها استفاده کردید اصلا جالب نیست ، اگر همین کارو با یک پرس و جوی تو در تو انجام بدید که مثلا 30 تا پارامتر با 10 نوع داده بگیره حداقل 3 4 روزی باید باهاش ور برید تا خطا نده!

پیشنهاد میکنم مقادیر رو به صورت پارامتری بدید تا حداقل از صحت اون قسمت دستور SQL مطمئن شوید.