PDA

View Full Version : مشکل با Update کردن بانک



khz-web1
جمعه 21 تیر 1387, 20:24 عصر
سلام

من برای اینکه تعداد بازدید های کاربران را در بانک ثبت کنم از دستور update استفاده میکنم ....

ولی نمیدونم چرا کد زیر برای آپدیت کردن ستون counter در بانک کار نمی کنه .... در واقع هنگام ران کردن پروژه از خط cmd.ExecuteNonQuery ارور می گیره ....



Dim con As OleDbConnection = New OleDbConnection("Provider=Microsoft.Jet.OLEDB.4.0;data source=D:\ASP.NET\News\App_Data\news.mdb")
Dim sql AsString
Dim cmd AsNew OleDbCommand

Label1.Text = "تعداد بازدید" & Application("counter")

sql = "update table2 set counter=@counter where id = 1"
cmd.Connection = con
cmd.CommandText = sql
cmd.Parameters.AddWithValue("@counter", Application("counter"))

con.Open()
cmd.ExecuteNonQuery()
con.Close()


عکس ارور
http://i37.tinypic.com/atvrsy.jpg

با تشکر فراوان

SalarSoft
جمعه 21 تیر 1387, 20:42 عصر
این خط رو اینطوری اصلاح کن:

cmd.Parameters.AddWithValue("@counter", Application("counter").ToString())

khz-web1
جمعه 21 تیر 1387, 20:49 عصر
این خط رو اینطوری اصلاح کن:

cmd.Parameters.AddWithValue("@counter", Application("counter").ToString())


این کارو رو قبلا خودم انجام دادم ولی جواب نداد .... باز هم همون ارور رو میده

khz-web1
شنبه 22 تیر 1387, 02:58 صبح
مشکلم حل شد باید counter رو در [counter ] بزارم


Dim con As OleDbConnection = New OleDbConnection("Provider=Microsoft.Jet.OLEDB.4.0;data source=D:\ASP.NET\News\App_Data\news.mdb")
Dim sql As String
Dim cmd As New OleDbCommand

Label1.Text = "تعداد بازدید" & Application("counter")

sql = "UPDATE table2 Set [counter]=@counter where id = 1"
cmd.Connection = con
cmd.CommandText = sql
cmd.Parameters.AddWithValue("@counter", Application("counter").ToString())

con.Open()
cmd.ExecuteNonQuery()
con.Close()


با تشکر

Behrouz_Rad
شنبه 22 تیر 1387, 08:14 صبح
هیچگاه کلمات رزرو شده را به عنوان نام عناصر دیتابیس انتخاب نکنید.

موفق باشید.

salehbagheri
شنبه 22 تیر 1387, 08:38 صبح
به نظر من اولا كلمات رزرو شده در SQL بايد با حروف بزرگ نوشته بشن. مثل (UPDATE, SET, WHERE و ...)

دوما در قسمت زير بايد حرف @ برداشته بشه!


cmd.Parameters.AddWithValue("@counter", Application("counter").ToString())


تصحيح:


cmd.Parameters.AddWithValue("counter", Application("counter").ToString())