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

اواجه مشكله مع لغة ASP ارجو المساعدة

مغلق
بدأه PROGRAMMER_15 في 22 سبتمبر 2004 · 23 رد · 1,391 مشاهدة · في منتدى تصميم صفحات الويب
مشاركة: واتساب X فيسبوك تيليجرام
#1 صاحب الموضوع

السلام عليكم

انني اكتب كود بلغة ASP ولقد انشأت فورم لإدخال امعلومات إلى قاعدة البيانات وعند تعبئة الفورم وضغط على زر الإرسال يعرض لي المتصفح هذا الخطأ

و هذا الخطأفي صفحة المعالجه

الخطأ هو :

Error Type:

Microsoft VBScript compilation (0x800A0409)

Unterminated string constant

/Ahmed/PForm.asp, line 10, column 584

strSQL="Insert Into Employment([First Name],[Fathers Name],[Grandfathers Name],[Last Name],Day,Month,Year,[Place Of Birth],[blood Type],Sex,[Marital Status],[Government ID],[Tabiya Number],DT,MT,YT,[Tabiya Issuance Location],[Do You Have Insurance],[insurance No],Place,Code,RC,Email,Phone,Mobile,Edu,GY,Major,Precentage,[school Name],Major1,GPA,[Out Of],[university Name],Experience,[Company Name 1],[Company Name2],[Company Name3],GN1,GN2,GN3,[Work Date Start1],[Work Date Start2],[Work Date Start3],[Work Date End1],[Work Date End2],[Work Date End3],[Do You Have Work],EMPNO,Other)

-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------^

#2

هذا هو كود صفحة ASP

<%

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

con.connectionTimeOut=60

con.Open "DSN=ADD"

Set rs=Server.CreateObject("ADODB.RecordSet")

strSQL="Insert Into Employment([First Name],[Fathers Name],[Grandfathers Name],[Last Name],Day,Month,Year,[Place Of Birth],[blood Type],Sex,[Marital Status],[Government ID],[Tabiya Number],DT,MT,YT,[Tabiya Issuance Location],[Do You Have Insurance],[insurance No],Place,Code,RC,Email,Phone,Mobile,Edu,GY,Major,Precentage,[school Name],Major1,GPA,[Out Of],[university Name],Experience,[Company Name1],[Company Name2],[Company Name3],GN1,GN2,GN3,[Work Date Start1],[Work Date Start2],[Work Date Start3],[Work Date End1],[Work Date End2],[Work Date End3],[Do You Have Work],EMPNO,Other)

values('" & Request.Form("FN") & "','" & Request.Form("FAN") & "'," & Request.Form("GFN") &",'" & Request.Form("FMN")& "'," & Request.Form("Day") &")"," & Request.Form("Month")& "," & Request.Form("Year")& ",'" & Request.Form("POB")& "','" & Request.Form("BT")& "','" & Request.Form("Sex")& "','" & Request.Form("MS")& "'," & Request.Form("GID")& "," & Request.Form("TN")& "," & Request.Form("DT")& "," & Request.Form("MT")& "," & Request.Form("YT")& ",'" & Request.Form("TIL")& "','" & Request.Form("IS")& "'," & Request.Form("INO")& ",'" & Request.Form("P")& "'," & Request.Form("C")& "," & Request.Form("RC")& ",'" & Request.Form("Email")& "'," & Request.Form("Phone")& "," & Request.Form("Mobile")& ",'" & Request.Form("Edu")& "'," & Request.Form("GY")& ",'" & Request.Form("Major")& "','" & Request.Form("Precentage")& "','" & Request.Form("School Name")& "','" & Request.Form("Major1")& "','" & Request.Form("GPA")& "','" & Request.Form("Out Of")& "','" & Request.Form("UN")& "','" & Request.Form("EX")& "',

'" & Request.Form("CN1")& "','" & Request.Form("CN2")& "','" & Request.Form("CN3")& "','" & Request.Form("GN1")& "','" & Request.Form("GN2")& "','" & Request.Form("GN3")& "','" & Request.Form("DSW1")& "','" & Request.Form("DSW2")& "','" & Request.Form("DSW3")& "','" & Request.Form("DEW1")& "','" & Request.Form("DEW2")& "','" & Request.Form("DEW3")& "','" & Request.Form("MY")& "'," & Request.Form("EMP")& ",'" & Request.Form("Other")& "')"

set rs=con.Execute(strSQL)

con.close

Set con=Nothing

%>

#3

لم أقرأ جميع الكود فقد زاغ بصري و رأيت الدنيا بالألوان و أنا أتابعه.. :)

ولهذا السبب لا أحب هذه الطريقة التي استعملتها في إدخال البيانات إلى قاعدة البيانات

هذا الخطاً سببه خطأ كتابي على الأغلب لذلك راجع فقط الفواصل و إغلاق الكود

Mohamad Al-Karbi

www.mkarbi.me

#4

أستعمل أسلوب Recordset.addnew و recordset.update وذلك فقط كي يصبح كودك مفهوم أو أتبع أسلوب ترتيب آخر

#5

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

جرب إزالة علامة الاقتباش المفردة ' فهي حولت الأوامر الخاصة بالفورم إلى ملاحظات

<%
Set con=Server.CreateObject("ADODB.Connection")
con.connectionTimeOut=60
con.Open "DSN=ADD"

Set rs=Server.CreateObject("ADODB.RecordSet")



strSQL="Insert Into Employment([First Name],[Fathers Name],[Grandfathers Name],[Last Name],Day,Month,Year,[Place Of Birth],[Blood Type],Sex,[Marital Status],[Government ID],[Tabiya Number],DT,MT,YT,[Tabiya Issuance Location],[Do You Have Insurance],[Insurance No],Place,Code,RC,Email,Phone,Mobile,Edu,GY,Major,Precentage,[School Name],Major1,GPA,[Out Of],[University Name],Experience,[Company Name1],[Company Name2],[Company Name3],GN1,GN2,GN3,[Work Date Start1],[Work Date Start2],[Work Date Start3],[Work Date End1],[Work Date End2],[Work Date End3],[Do You Have Work],EMPNO,Other)
values('" & Request.Form("FN") & "','" & Request.Form("FAN") & "'," & Request.Form("GFN") &",'" & Request.Form("FMN")& "'," & Request.Form("Day") &")"," & Request.Form("Month")& "," & Request.Form("Year")& ",'" & Request.Form("POB")& "','" & Request.Form("BT")& "','" & Request.Form("Sex")& "','" & Request.Form("MS")& "'," & Request.Form("GID")& "," & Request.Form("TN")& "," & Request.Form("DT")& "," & Request.Form("MT")& "," & Request.Form("YT")& ",'" & Request.Form("TIL")& "','" & Request.Form("IS")& "'," & Request.Form("INO")& ",'" & Request.Form("P")& "'," & Request.Form("C")& "," & Request.Form("RC")& ",'" & Request.Form("Email")& "'," & Request.Form("Phone")& "," & Request.Form("Mobile")& ",'" & Request.Form("Edu")& "'," & Request.Form("GY")& ",'" & Request.Form("Major")& "','" & Request.Form("Precentage")& "','" & Request.Form("School Name")& "','" & Request.Form("Major1")& "','" & Request.Form("GPA")& "','" & Request.Form("Out Of")& "','" & Request.Form("UN")& "','" & Request.Form("EX")& "',
'" & Request.Form("CN1")& "','" & Request.Form("CN2")& "','" & Request.Form("CN3")& "','" & Request.Form("GN1")& "','" & Request.Form("GN2")& "','" & Request.Form("GN3")& "','" & Request.Form("DSW1")& "','" & Request.Form("DSW2")& "','" & Request.Form("DSW3")& "','" & Request.Form("DEW1")& "','" & Request.Form("DEW2")& "','" & Request.Form("DEW3")& "','" & Request.Form("MY")& "'," & Request.Form("EMP")& ",'" & Request.Form("Other")& "')"



set rs=con.Execute(strSQL)

con.close
Set con=Nothing
%>
#6

شكراً لكم جزيلاص على مشاركتكم

لكن لقد راجعت الكود ولا يوجد فيه أخطاء فواصل وبعض الأخطاء كانت وقمت بتصحيحها لكن هناك نفس المشكله

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

أرجو مساعدتي وشكرا لكم

#7

لقد جربت إزاله الفواصل المفرده ومازالت نفس المشكله

ألا يمكن ان يكون الخطأ في Insert

#8

لا أعرف قصدك بفواصل مفردة و مزدوجة، و لكن:

" & الرقم & " بينما "' & الاسم & '"

على كل حال الخطأ هو في الفواصل مثلاً:

values('" & Request.Form("FN") & "','"

هذا خطأ إذ يجب ان تكون:

values('" & Request.Form("FN") & '" & "','"

و أنظر إلى بعض الأخطاء الأخرى:

"'," بينما الصحيح هو: "','"

Mohamad Al-Karbi

www.mkarbi.me

#9

لم تنجح المحاولة يا أستاذ محمد

ولقد بدأت الأمور تتعقد

أرجو مساعدتي

وشكرا

#10
<%
  strSQL = "SELECT * FROM [Employment] WHERE 0 = 1"
  Set rs = Server.CreateObject("ADODB.Recordset")
  rs.Open strSQL, con, 1, 2
  rs.AddNew

rs("First Name") = Request.Form("FN")
rs("Fathers Name") = Request.Form("FAN")
rs("Grandfathers Name") = Request.Form("GFN")
rs("Last Name") = Request.Form("FMN")
rs("Day") = Request.Form("Day")
rs("Month") = Request.Form("Month")
rs("Year") = Request.Form("Year")
rs("Place Of Birth") = Request.Form("POB")
rs("Blood Type") = Request.Form("BT")
rs("Sex") = Request.Form("Sex")
rs("Marital Status") = Request.Form("MS")
rs("Government ID") = Request.Form("GID")
rs("Tabiya Number") = Request.Form("TD")
rs("DT") = Request.Form("DN")
rs("MT") = Request.Form("MT")
rs("YT") = Request.Form("YT")
rs("Tabiya Issuance Location") = Request.Form("TIL")
rs("Do You Have Insurance") = Request.Form("IS")
rs("Insurance No") = Request.Form("INO")
rs("Place") = Request.Form("P")
rs("Code") = Request.Form("C")
rs("RC") = Request.Form("RC")
rs("Email") = Request.Form("Email")
rs("Phone") = Request.Form("Phone")
rs("Mobile") = Request.Form("Mobile")
rs("Edu") = Request.Form("Edu")
rs("GY") = Request.Form("GY")
rs("Major") = Request.Form("Major")
rs("Precentage") = Request.Form("Precentage")
rs("School Name") = Request.Form("School Name")
rs("Major1") = Request.Form("Major1")
rs("GPA") = Request.Form("GPA")
rs("Out Of") = Request.Form("Out Of")
rs("University Name") = Request.Form("UN")
rs("Experience") = Request.Form("EX")
rs("Company Name1") = Request.Form("CN1")
rs("Company Name2") = Request.Form("CN2")
rs("Company Name3") = Request.Form("CN3")
rs("GN1") = Request.Form("GN1")
rs("GN2") = Request.Form("GN2")
rs("GN3") = Request.Form("GN3")
rs("Work Date Start1") = Request.Form("DSW1")
rs("Work Date Start2") = Request.Form("DSW2")
rs("Work Date Start3") = Request.Form("DSW3")
rs("Work Date End1") = Request.Form("DEW1")
rs("Work Date End2") = Request.Form("DEW2")
rs("Work Date End3") = Request.Form("DEW3")
rs("Do You Have Work") = Request.Form("MY")
rs("EMPNO") = Request.Form("EMP")
rs("Other") = Request.Form("Other")

  rs.Update
  rs.Close
  Set rs = Nothing
  
con.close
Set con=Nothing
%>

مع ملاحظة ان بياناتك كثيرة جداً على table واحد... و هذا يؤثر سلبياً مع إزدياد حجم البانات في المستقبل

Mohamad Al-Karbi

www.mkarbi.me

#11

شكراً لك أخ محمد جزيل الشكر على هذا الكود

لكن أيضاً يظهر لي هذا الخطأ

Error Type:

ADODB.Recordset (0x800A0BB9)

Arguments are of the wrong type, are out of acceptable range, or are in conflict with one another.

/Ahmed/PForm.asp, line 4

أعتقد أنه لم نقم في هذا الكود بتعريف اسم DSN

#12

في الكود الذي اعطيتني اياه يا اخ محمد عرفت بداخله كائن الاتصال و DSN

ونجح الأمر وذهب الخطأ لكن ظهر لي خطأ ثاني وهو

Error Type:

Provider (0x80020005)

Type mismatch.

/Ahmed/PForm.asp, line 15

والسطر رقم 15 هو

rs("Month") = Request.Form("Month")

#13

الخطأ الأخير سببه ربما أني أخطأت في كتابة اسم الحقل

تاكد هل كتابتهم صحيحة؟ حيث أني لا أعلم ماهم

شكراً

Mohamad Al-Karbi

www.mkarbi.me

#14

اعلم أني قد أطلت عليك يا أخ محمد لكن أنني احتاج إلى مساعدتكم في المنتدى

الخطأ نفسه يظهر لي ولقد تأكدت من صحة الحقل وكتابته

مع العلم انه قامت اختيار هل يؤثر ذلك

#15

لقد اكتشفت يا أخ محمد أن الخطأ يظهر في الحقول التي تحتوي على قائمة اختيار مكونه من قيم بلغة العربية مثل قائمة الشهور (محرم , صفر, إلخ....) كذلك الحقول التي تم تعريفها على انها رقم

فما هو تعليقك على هذا الخطأ

#16

أخي العزيز

لا أعلم ماذا أجيب... المشكلة أن الكلام هنا صعب و الأمور بسيطة لكنها متراكمة مما يجعل الأمر صعباً في المتابعة. لذلك إن أحببت ارسل لي قاعدة البيانات (MS Access File) في Zip File و سأعمل جهدي من أجلك إلا أن تجد هنا من يفيدك افضل مني، و هم كثيرون

لا أحب أن أفعل هذا عادةً، و لكني قد بدأت معك موضوعاً يجب إتمامه مادمت قادراً

والله الموفق

تم تعديل هذه المشاركة بواسطة محمد القربي في 27 سبتمبر 2004 في 01:28

Mohamad Al-Karbi

www.mkarbi.me

#17

لقد أرسلتها لك على الإيميل يا أخ محمد

وشكراً

#18

و قد أرسلت لك الحل على إيميلك أيضاً :)

بالتوفيق

Mohamad Al-Karbi

www.mkarbi.me

#19

شكراً لك يا أخي محمد على هذه الجهود التي تقدمها لي من اجل مساعدتي جزاك الله خيراً ،، وأتمنى لك التوفيق في حياتك

ولقد لان وصلت إلى نهاية بناء الموقع ولم يتبق لي ألا

لقد رأيت قاعدة البيانات وصفحة الفورم داخل قاعدة البيانات يوجد أول حقل وهو NO وهو عبارة عن ترقيم تلقائي للحقول ، ومثل ما أنت تعرف أن الفورم الخاص فيني هو لطلب التوظيف ولابد لكل شخص قام بإرسال الفورم يحصل على رقم طلب أو مراجعة

الذي أريده هو :

عندما يقوم الشخص بتعبئة هذا الطلب ويقوم بالضغط على زر الإرسال تظهر له صفحة أخرى تخبره أنه تم تسجيل طلبه وهذا هو رقم الطلب (الذي هو عبارة عن الحقل NO الترقيم التلقائي)

وشكراً لك يا أخ محمد جزيل الشكر

#20

على الرحب و السعة أخي

هذا الرقم الذي تتكلم عنه هو الـ key للسجل في قاعدة البيانات وهو تلقائي و لا أعرف طريقة بسيطة لإظهاره بعد التسجيل.. لكنه يظهر في صفحة عرض البيانات..... الحل أنك تضيف حقل آخر تعرف رقم تلقائي بصيغة أخرى يظهر بعد التسجيل، أو ترسل له إيميل فيما بعد تخبره برقم الطلب..

أنا أسف، لا استطيع المساعدة أكثر من هذا الآن في هذا الموضوع لأن وقتي ضيق هذين الأسبوعين بالإضافة إلى أني التزمت بالإيفاء بما بدأناه في بداية النقاش...

أما بالنسبة للتحويل، ففي نهاية الكود غيّر الـ response.redirect

و آمل أن الأمور تكون بسيطة... و بالتوفيق إن شاء الله

Mohamad Al-Karbi

www.mkarbi.me

#21

اشكر يا اخ محمد جزيل الشكر على بذلته معي من جهد

واتمنى لك التوفيق

#22

على الرحب و السعة مرة اخرى... و لا تيأس... هذه الخطوة الأولى و هي الأصح في وجهة نظري لتعلم هذه البرمجة: العمل على مشروع ثم البحث عن كيفية حل المشاكل التي تواجهك في بناء هذا المشروع.. و بالتالي الابداع و ليس الاكتفاء بما تحويه الكتب (مع اهميتها) من معلومات.

وفقك الله و إيانا لما يحب و يرضاه

Mohamad Al-Karbi

www.mkarbi.me

#23

بما أنك تستعمل Access فلست متأكدا من وجود طريقة لمعرفة آخر رقم تم التسجيل به ، ولكن يمكن التحايل عليه بجملة SQL مثل:

select max(member_no) as last_mno from tblMembers

تنفذ عقب تنفيذ جملة insert مباشرة ، ومن ثم استخلاص القيمة last_mno في متغير منفصل.

فكر بطريقة أخرى

#24

والله يا أخي walcom هذه طريقة (لم أجربها بعد) أكثر من رائعة و أسهل بكثير مما كان يدور في راسي، حيث عادةً استخدم لها الكوكيز في التسجيل و ما شابه...

جزاك الله خيراً

Mohamad Al-Karbi

www.mkarbi.me

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

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