الفريق العربي للبرمجةأرشيف المنتديات · 2000 – 2023
نسخة أرشيفية للقراءة فقط — التسجيل والمشاركة مغلقان، والمحتوى محفوظ كما كان.

تظهر لي هذه الرسالة حينما أقوم بحفظ البيانات !

مغلق
بدأه m_elgilany في 30 مايو 2006 · 10 رد · 2,657 مشاهدة · في منتدى تصميم صفحات الويب
مشاركة: واتساب X فيسبوك تيليجرام
#1 صاحب الموضوع

Microsoft JET Database Engine error '80004005'

Operation must use an updateable query.

/AR/GuestBook_Add.asp, line 85

علماً بأن السطر 85 يحتوي على هذا الكود

ADO.EXECUTE(AddSQL)

-----------------------------------------------------------------------

Dim ConnectionString

Dim ADO, AddSQL

ConnectionString="Provider=Microsoft.Jet.OLEDB.4.0;" & "Data Source=" & Server.MapPath("AR.mdb")

Set ADO=Server.CreateObject("ADODB.Connection")

ADO.ConnectionString =ConnectionString

ADO.open

Add_Date = date()

Thename = request.form ("name")

email = request.form ("email")

website = request.form ("website")

link = request.form ("link")

Ranking = request.form ("ranking")

comment = request.form ("comment")

If Thename="" or comment="" then

response.write "<center>" & "من فضلك تأكد من إدخال جميع البيانات . قم بالعودة للصفحة السابقة"

Else

AddSQL="Select * From Guest_Book"

AddSQL= "insert into Guest_Book (Add_Date,Name,EMail,WebSite,Link,Ranking,Comment) values ('"&Add_Date&"','"&Thename&"','"&email&"','"&website&"','"&link&"','"&Ranking&"','"&comment&"');"

ADO.EXECUTE(AddSQL)

response.redirect "GuestBook_View.asp"

End if

ADO.close

Set ADO=Nothing

تم تعديل هذه المشاركة بواسطة m_elgilany في 30 مايو 2006 في 11:14

----------------------------------------------

مؤسسة بناء وإتصال المعلومات

مهندس : محمد الجيلاني عبد المجيد

#2

السلام عليكم

شوف يا اخي, انا كانت دايما تواجهني مشاكل في جمل الادخال وبالتالي ريحت راسي من هالوجع وصرت استخدم طريق اخرى بدل من insert وهي كالتالي

Dim DB
Set DB = Server.CreateObject ("ADODB.Connection")
DB.Mode = adModeReadWrite
DB.Open ("PROVIDER=Microsoft.Jet.OLEDB.4.0;DATA SOURCE= "& _ 
		 Server.MapPath("DataBaseName.mdb"))


Dim RS
Set RS = Server.CreateObject ("ADODB.Recordset")
RS.Open "select * from tableName", DB , 1, 2

RS.AddNew

  RS ("Col1") = request.form("input1")
  RS ("Col2") = request.form("input2")
  RS ("Col3") = request.form("input3")

RS.Update 
RS.Close

واي استفسار انا جاهز

تم تعديل هذه المشاركة بواسطة alex11 في 31 مايو 2006 في 11:00

#3

بسم الله الرحمن الرحيم والصلاة والسلام على أشرف المرسلين سيدنا محمد وعلى آله وأصحابه أجمعين

تحية طيبة وبعد أخي الكريم أليكس

قمت بتجربة الكود اللي حضرتك كتبتهولي بالشكل التالي

		<%
Dim DB
Set DB = Server.CreateObject ("ADODB.Connection")
DB.Mode = adModeReadWrite
DB.Open ("PROVIDER=Microsoft.Jet.OLEDB.4.0;DATA SOURCE= "& _ 
		 Server.MapPath("AR.mdb"))


Dim RS
Set RS = Server.CreateObject ("ADODB.Recordset")
RS.Open "select * from Guest_book", DB , 1, 2
RS.AddNew
  RS ("Add_Date") = date()
  RS ("Name") = request.form("Name")
  RS ("Comment") = request.form("Comment")
		If RS ("Name")="" or RS ("Comment")="" then
			response.write "<center>" & "من فضلك تأكد من إدخال جميع البيانات . قم بالعودة للصفحة السابقة"
		end if
  RS ("eMail") = request.form("eMail")
  RS ("WebSite") = request.form("WebSite")
  RS ("Link") = request.form("Link")
  RS ("Ranking") = request.form("Ranking")

RS.Update 
RS.Close

		%>

ولكن للأسف ظهرت لي هذه الرسالة

Microsoft JET Database Engine error '80040e09'

Cannot update. Database or object is read-only.

/AR/GuestBook_Add.asp, line 77 ]

علماً بأن السطر 77 يحتوي الكود RS.AddNew

هذه الرسالة فهمت منها أنه لا يستطيع إضافة سجل جديد أو تحديث البيانات لأنها للقراءة فقط . حاولت أن أرى إذا كان من الممكن أن أغير خاصية القراءة فقط لقاعدة البيانات في مكانها على السيرفر . وجدت أن السيرفر يقول لي

00.jpg

تم تعديل هذه المشاركة بواسطة m_elgilany في 1 يونيو 2006 في 09:53

----------------------------------------------

مؤسسة بناء وإتصال المعلومات

مهندس : محمد الجيلاني عبد المجيد

#4

يا خي الكريم انا الي افهمتو من الكود الي انتا كتبتو بالطريقة التي اعظيتك اياها فهمت انك لا تريد ادخال البيانات الى قواعد البيانات وهيا فارغة

اي انك تريد فحص هل الحقول التي ارسلت فارغة او لا , واذا كانت فارغة لا يقوم بإدخال البيانات ويخرج رسالة تنبيه والا يدخل البيانات

يارب اكون الي فهمتو انا صح وازا كان هيك يمكن كتابة الكود هادا

	  If request.form("Name")="" or request.form("Comment")="" then
			response.write "<center>" & "من فضلك تأكد من إدخال جميع البيانات . قم بالعودة للصفحة السابقة"

else

Dim DB
Set DB = Server.CreateObject ("ADODB.Connection")
DB.Mode = adModeReadWrite
DB.Open ("PROVIDER=Microsoft.Jet.OLEDB.4.0;DATA SOURCE= "& _ 
		 Server.MapPath("AR.mdb"))


Dim RS
Set RS = Server.CreateObject ("ADODB.Recordset")
RS.Open "select * from Guest_book", DB , 1, 2
RS.AddNew
  RS ("Add_Date") = date()
  RS ("Name") = request.form("Name")
  RS ("Comment") = request.form("Comment")

  RS ("eMail") = request.form("eMail")
  RS ("WebSite") = request.form("WebSite")
  RS ("Link") = request.form("Link")
  RS ("Ranking") = request.form("Ranking")

RS.Update 
RS.Close

end if
		%>

تم تعديل هذه المشاركة بواسطة alex11 في 1 يونيو 2006 في 11:16

#5

الأخ أليكس تحية طيبة وبعد

شكراً على إهتمامك بسؤالي . ولكن ليس المشكلة لدي في إختبار هل تم إدخال البيانات بطريقة سليمة أو لا ولكن إذا حاولت إدخال البيانات كما في الصورة التالية

01.jpg

ثم إضغط زر إضافة ويتم الإنتقال إلى صفحة حفظ البيانات وإدراجها في قاعدة البيانات تظهر لي هذه الرسالة في الصفحة

02.jpg

----------------------------------------------

مؤسسة بناء وإتصال المعلومات

مهندس : محمد الجيلاني عبد المجيد

#6

السلام عليكم

تأكد من الصلاحيات لملف قاعدة البيانات يبدو ان المستضيف لم يتح لك خاصية التعديل ..

460.gif

#7

ما هي كيفية التحكم في الصلاحيات الخاصة بأي ملف ؟

----------------------------------------------

مؤسسة بناء وإتصال المعلومات

مهندس : محمد الجيلاني عبد المجيد

#8

لا بد ان يكون ملف القاعدة له صلاحية القراءة والكتابة .

يتحكم فيها مستضيف الموقع .

460.gif

#9

يمكنك أو يجب عليك أن تقوم بمنخ قاعد البيانات صلاحيات القراءة والكتابة

طبعا علي جهازك في البيت المشكلو محلولة

أما عالويب سيرفر فيمكنك ذلك بالدخول على لوحة التحكم الخاصة باإستضافة بتعتك وإعطاء الملف الصلاحيات المناسبة

وشكرا

-----------

www.gazashow.com

::::التوقيع::::

موقع ممتاز

وان شاء الله يفيد الجميع

وشكرا

؟؟لماذا لا يصل الايميل المرسل من صفحتي الي الهوتميل؟؟

مستوي الجدية في المواضيع المطروحة

لا اله الا الله محمد رسول الله

#10

الاخوة الاعزاء لاتزال عندي مشكلة في عمل addnew والخطأ هو read only ارجو منكم المساعدة

#11

Microsoft JET Database Engine error '80004005'

Operation must use an updateable query.

الله ما اقبحها هاي المشكله !!تصدق والله ضلت معايا واعاني منها فوق السته اشهر

لحين ما لقيت سبب المشكله

المشكله سيدي مثل ما قلت في البدايه هي الصلاحيات ع المجلد او الفولدر

فقط قم بمراجعة السيرفر او الشركه المستضيفه وقم باعطائهم اسم المجلد اللي عليه قاعدة البيانات لكي يقوموا بتوفير جميع الصلاحيات لهذا المجلد

صدقني صدقني صدقني صدقني صدقني صدقني

هذا هو السبب وهذا هو الحل الوحيد

وتحياتي

هذا الموضوع مغلق.

مواضيع مشابهة

عدد الزوار حالياً

المتواجدون خلال آخر دقيقتين · يتحدّث كل ٣٠ ثانية

—الإجمالي—أعضاء مسجّلون—زوار بدون تسجيل

جارٍ التحقق من المتواجدين…