PDA

View Full Version : یکی راهنمایی کامل در مورد ارتباط Asp.net با Access (خواهشا)



hossein.e
شنبه 29 مرداد 1384, 12:34 عصر
دوستان سلام
من با vb.net کار برنامه نویسی انجام می دهم و تقریبا مسلط هستم اما چند روزی است که مجبور شده ام Asp.net را یاد بگیرم اما هر چقدر سعی می کنم در لینک کردن با اکسس مشکل پیدا کرده ام یک مشکل در insert کردن رکورد جدید است که error زیر را می دهد

Syntax error in INSERT INTO statement

Description: An unhandled exception occurred during the execution of the current web request. Please review the stack trace for more information about the error and where it originated in the code.

Exception Details: System.Data.OleDb.OleDbException: Syntax error in INSERT INTO statement.

که قسمتی از کد برنامه را که خطا دارد به صورت زیر مشخص می کند

cb = New OleDbCommandBuilder(da)
da.InsertCommand = cb.GetInsertCommand()
da.Update(ds, "sttable")
con.Close()

لطفا هر کس می داند مرا کمک کند با توجه به اینکه هیچکدام از تایپیک های قبلی کمکمی به من نکرده اند
:گیج: :گیج: :گیج:

صابر
شنبه 29 مرداد 1384, 14:47 عصر
خب این پیغام خطا مشخصه..
شما یک اشتباه در دستور Insert دارید.
محتوای دستور Insert خودتون رو اینجا بفرستید.

hossein.e
شنبه 29 مرداد 1384, 16:23 عصر
اینهم محتوای دستور insert

strcon = "provider=microsoft.jet.oledb.4.0;" & "data source=/inetpub/wwwroot/db/students.mdb"
strsql = "select name,number,course,average,units from table1"
con = New OleDbConnection(strcon)
con.Open()
da = New OleDbDataAdapter(strsql, con)
da.Fill(ds, "table1")



Dim newrow As DataRow = ds.Tables("table1").NewRow

newrow("number") = stno.Text
newrow("name") = firstname.Text
newrow("course") = course.Text
newrow("average") = ave.Text
newrow("units") = numunit.Text

ds.Tables("table1").Rows.Add(newrow)

Dim cb As New OleDbCommandBuilder(da)
da.Update(ds, "table1")
con.Close()

hossein.e
شنبه 29 مرداد 1384, 16:26 عصر
آقا صابر منتظر یک جواب توپ هستم تا کل خستگی امروزم و گشنگی ام رو فراموش کنم
فدایت

صابر
شنبه 29 مرداد 1384, 17:49 عصر
آقا حسین،
من کد شما رو تست کردم درست کار می‌کنه.
به احتمال قریب به یقین! مشکل از اینجاست:


newrow("number") = stno.Text
newrow("name") = firstname.Text
newrow("course") = course.Text
newrow("average") = ave.Text
newrow("units") = numunit.Text

مشکل اینه که name یه کلمه رزرو شده است توی Access و شما باید از یه اسم دیگه توی بانکتون استفاده کنید.
لیست کلمات رزرو شده Access: http://support.microsoft.com/default.aspx?scid=kb;en-us;286335

در ضمن، دقت کنید که اسم بقیه فیلدها که اینجا نوشتید با چیزی که توی بانک نوشتید یکی باشه.

hossein.e
یک شنبه 30 مرداد 1384, 09:43 صبح
آقا صابر خیلی باحالی
کار ما که حل شد انشاالله خدا کار شما رو راه بندازه
راستی اگه اون عکس خودته باید بگم از تریپت خیلی خوشم اومده

بای برادر

صابر
دوشنبه 31 مرداد 1384, 01:23 صبح
خواهش می‌کنم،
از دعای خیرت متشکرم.
نه عزیز، این عکس «اکبر گنجی» هست نه من.

mahdi_negahi
جمعه 05 اسفند 1384, 12:39 عصر
sample زیر را با دقت مطالعه کنید حتما جواب میگیرید:
http://msdn.microsoft.com/library/default.asp?url=/library/en-us/dnadonet/html/adon_wtaccessdb.asp