PDA

View Full Version : عدم اجرای Cm2.ExecuteNonQuery()



solmaz_zm
چهارشنبه 23 خرداد 1386, 13:42 عصر
کد زیر قبلا اجرا میشده،حتی در بخش دیگه ای ازبرنامه هم اجرا می شد،اما در قسمتی اجرا نمیشه...هیچ پیغام خاصی هم نمیده....




Private Sub save_changes()
Dim Cm2 As New OleDbCommand
Dim da As New OleDbDataAdapter
Dim cn As New OleDbConnection("Provider=Microsoft.Jet.OLEDB.4.0;Data Source=db1.mdb;Persist Security Info=False")
cn.Open()
Cm2.Connection = cn
da.SelectCommand = Cm2
'Emp_code.Text = edit_formcode.Text
Dim w As String
w = hard_code.SelectedItem.Text
Cm2.Parameters.Add("@FORM_CODE", OleDbType.VarChar, 100).Value = w
Cm2.Parameters.Add("@edit_case_model", OleDbType.VarChar, 100).Value = case_model.Text
Cm2.Parameters.Add("@edit_monitor_model", OleDbType.VarChar, 100).Value = monitor_model.Text

Cm2.CommandText = "Update hardware set [case_model]=@edit_case_model, [monitor_model]=@edit_monitor_model WHERE [form_code]=@FORM_CODE"
Cm2.ExecuteNonQuery()
cn.Close()


به قسمت Cm2.ExecuteNonQuery() که میرسه،ظاهرا اجرا نمیشه....
نمیدونم مشکل چیه لطفا راهنمایی فرمایین.
ممنون.

nasser_p
چهارشنبه 23 خرداد 1386, 19:19 عصر
پیغام خطاش چی هست؟

solmaz_zm
چهارشنبه 23 خرداد 1386, 20:52 عصر
مشکل اینجاست که هیچ پیغامی نمیده...فقط اجرا نمیشه...یه جورایی ارروی این دستور برنامه پرش می کنه...

choobin84
چهارشنبه 23 خرداد 1386, 21:59 عصر
مشکل اینجاست که هیچ پیغامی نمیده...فقط اجرا نمیشه...یه جورایی ارروی این دستور برنامه پرش می کنه...
یعنی چی پرش می کنه؟

choobin84
چهارشنبه 23 خرداد 1386, 22:00 عصر
مشکل اینجاست که هیچ پیغامی نمیده...فقط اجرا نمیشه...یه جورایی ارروی این دستور برنامه پرش می کنه...
یعنی چی پرش می کنه؟منظوم اینه مگه میشه اونو کامپایل نکنه و بره خط بعدی؟
از اکسپشن ها استفاده کنید.

solmaz_zm
چهارشنبه 23 خرداد 1386, 22:34 عصر
یعنی چی پرش می کنه؟منظوم اینه مگه میشه اونو کامپایل نکنه و بره خط بعدی؟
از اکسپشن ها استفاده کنید.

یعنی مثلا اگر این دستور داخل یه if نوشته بشه،دستورات داخل if اجرا نمیشن...به عبارتی اون کد دارای خروجی false خواهد بود.

marzban
جمعه 25 خرداد 1386, 00:33 صبح
مشکلی توی این کدی که نوشتی به نظر نمی رسه
به نظر می رسه دستور update شما با شکست مواجه میشه.
یک چک بکن ببین فیلد های داخل دیتا بیس از نوع nvarchar هستند یا نه و یا اینکه مقادیری که به داخل update فرستاده میشن از نوع رشته هستند یا نه!
w خودت را قبل از اینکه در داخل پارامتر بریزی به ته اش .tostring اضافه کن شاید درست شد
Cm2.Parameters.Add("@FORM_CODE", OleDbType.VarChar, 100).Value = w.tostring

Behnama
دوشنبه 18 تیر 1386, 17:29 عصر
من هم همواره این مشکل رو دارم . مثلا وقتی توی دیتاگرید تغییری می دم و update می کنم ، دیتابیس به روز میشه . اما مثلا در کد زیر نمیشه :



Dim Command As New OleDbCommand()
With Command
.CommandText = "Update Tariff SET " & _
"Base='" & TextBox2.Text & "' " & _
"Story='" & TextBox1.Text & "' " & _
"Kind='" & ComboBox1.Text & "' " & _
"WHERE Story='" & TextBox1.Text & "' AND " & _
"Kind='" & ComboBox1.Text & "'"
.CommandType = CommandType.Text
.Connection = Connection1
End With
Connection1.Open()
Adapter1.UpdateCommand = Command
Adapter1.UpdateCommand.ExecuteNonQuery()
Connection1.Close()