جامعة كردفان كلية دراسات احلاسوب واالحصاء تقانة معلومات تقنيات االنرتنت 1 لغةASP - 1 -
االسم : حممد ادريس على مخيس الدولة : السودان-ربك اجلامعة : كردفان - كلية دراسات احلاسوب واالحصاء تقانة معلومات الربيد : mohammedrabak@yahoo.com يمذيت ػ ASP (Visual ٠ ؾز ف ASP ػ ظ ص text ػ ع غخ Html ث ١ ب ٠ ز ر ف ١ ز االعىشثذ ف ايservers Basic, Java ) االعىشثذ script ب غز ١ يا يحخاخه انشخض نؼ م الASP ػ االل غز ١ script).( Visual Basic Script and java.1 Html, xhtml.2 يا هي ال ASP رؼ طفؾبد ا م ا شؾ Active Server Page زغخ ششوخ بوش ع فذ ػجبسح ػ ثش ب ظ ٠ ز ر ف ١ ز ث اعطخ خذ خ ؼ بد اال زش ذ IIS. Internet Information Servers الو ذ ص 200 اطذاساد ا ذ ص ا مذ ٠ خ الرؼ غ IIS ض (95,98, 3.11) الرؼ غ اي asp ؽز ذ ص 7 و ب رؼ غ اي ASP ز فز ثشا ظ اي ASP ؾزبط إ IIS ػجبسح ػ زشع ا فغش أل ا ش غخ Script ASP ؽ ١ ش ا ؼذ ٠ ذ االطذاساد فك ظب ا زشغ ١ ذ ص 200 عبء ؽض خ خبسع ١ خ ف ظب رشغ ١ ع ١ ذ ثبي (PWS) ع ١ ذ ة Windows ب ه اطذاساد ف ا ظ خ ا زشغ ١ ا غبثمخ ػبئ خ Option back Personal Web Servers انخكايهيت واالػخ اديت في ال ASP ػ ذ االؽز ١ بط العزخذا ٠ غت IIS اعزخذا اطذاساد اي Windows االطذاس windows NT 1. أ بعبء ثؼذ زا االطذاس. ػ ذ االؽز ١ بط العزخذا ٠ غت PWS اعزخذا windows أ بعبء ثؼذ زح االطذاسح. 2. ػ ذ االؽز ١ بط العزخذا رطج ١ مبد اي ASP د اعزخذا أ ظ خ رشغ ١ فؼ ١ ه ة Chili ASP 3. ػ ذ االؽز ١ بط العزخذا رطج ١ مبد اي ASP د اعزخذا ظب رشغ ١ ذ ص ٠ غت اعزخذا Instit ASP 4. ياهي يهفاث ال ASP شبث فبد اي Html 1. ٠ ؾز ف اي asp ػ ظ ص غخ (xml,html,script) 2. ٠ ز ر ف ١ ز ب ف اي Server فبد اي ASP 3. - 2 -
4. ٠ ؾفع ف اي ASP ثب زذاد.ASP آوخه االخخالف بي ال ASP وال Html 1. ف ؽب خ ؽ ت ف ث اعطخ غخ اي ٠ م html ا خبد server ثبسعبع ا ف ؾز ٠ بر ا اع خ ا ط ت. 2. ف ؽب خ ؽ ت ف ث اعطخ غخ اي ٠ م ASP ؼب ظ اي ASP اي IIS ثز ش ٠ ش ؾز ٠ بد ا فبد ؽذار إ شغ اي (ASP Angine) ASP ا ز رم ثذ س ا زشع زشع خ آعطش ا ف ص ز ف ١ ز االعىشثذ ا ز ٠ عذ ث ص رشعغ ا فبد ف شى ظ ص رشؼج ١ خ. يا يدب فؼهه باسخخذاو ال ASP 1. رفبػ ١ ب ٠ ى رظ ١ طفؾبد ث ب رغش ػ ١ بد االػبفخ ا ؾزف ا ػشع ا ؾز ٠ بد اال زش ذ. 2. اعزغبثخ غزفغبساد ا غزخذ إلعزشعبع ا ج ١ ب بد اسعبي ل ١ ث ١ ب ١ خ برط غخ اي. Html 3. ا ط ي ىبفخ ل اػذ ا ج ١ ب بد اعزشعبع زح ا ج ١ ب بد ف غزؼشع ا ظفؾبد. 4. رخظ ١ ض طفؾبد ا غزخذ ١ آع ا خظ ط ١ خ فشد. 5. ف ا زط س فمب ظ س ع خ ر ف ١ ز ا ؼ ث اعطخ اي CGI ا Perl اػبفخ ا غشػخ ا جغبؽخ. 6. فشد ا غش ٠ خ ؽ ١ ش ا زح ا غش ٠ خ ا ز ض خ ف ػذ ا ىب ١ خ ػشع ا شفشاد ا جش غ ١ خ ف غزؼشع ا ظفؾبد. 7. ثشا ظ رو ١ خ رزؾغظ اردؽب ا شجىخ آع رأ ١ زا االردؽب. ؾ ظخ ١ غذ ثؼش سح اعزخذا غزؼشع ٠ ذػ ر ف ١ ز script غج ١ ب ال ع ١ غ اال script ر فز ػ غز اي. server ححىيم ال Server ٠ ى رؾ ٠ ا ؾبعت ا شخظ خذ ث اعطخ اؽذ ا جشا ظ ا زب ١ خ: IIS.1 PWS.2 ؽ ١ ش ٠ ى ث اعطخ ز ٠ ا جش ب غ ١ ٠ ز رؾ ٠ ا ؾبعت ا خذ و ب ر عذ و زح ا جشا ظ ف ؽذاد غب ١ خ..1 بش ايح IIS ػجبسح ػ غ ػخ ا خذ بد االعبع ١ خ ا مذ خ ف اال زش ذ ا ز ر رظ ١ ؼ ب لج ششوخ بوش ع فذ ٠ ى اعزخذا ب غ ا ظ خ ا زشغ ١ ذ ص. ر عذ اطذاساد IIS ثز افك غ ػبئ خ ذ ص ض )200,XP,Vista,7) و ب اعزخذ ذ لج ذ ص NT رؼزجش زح األداح ع خ االػذاد ا زط ٠ ش ف رطج ١ مبد اال زش ذ..2 بش ايح PWS ٠ غزخذ ف ا زطج ١ مبد األ ظ خ ا غبثمخ ض ذ ص NT,95,98 ع خ االػذاد رغزخذ ف رطج ١ مبد ؾذ دح فمب ؼ ا ا غش ٠ خ ف ا شجىخ. خطىاث اػذاد الIIS في ا ظ ت حشغيم 7, Vista فزؼ control panel.1 اخزبس Add and Remove program.2-3 -
اخز ١ بس Turn Windows features on or off.3 اخزبس IIS اػغؾ ػ OK 4. ف ؽب خ اػذاد ٠ ى IIS ر ف ١ ش وبفخ ا ؽذاد ا زؼ مخ ثب ؼ ض أعشاءاد ا غش ٠ خ زا لذ ٠ ؾزبط ا رؼذ ٠ ف ظب ا زشغ ١. خطىاث اػذاد ال Server في ا ظ ت حشغيم windows200 and windows xp لبئ خ start اخزبس Control Panel.1 اخزبس add or remove programs.2 اخزبس Add/Remove Windows Components.3 اخز ١ بس IIS.4 اخزبس Details.5 اششػ wide web service ص ok.6 اخزش Next and install IIS.7 يهحىظت لج ا جذء ف اػذاد ايIIS ظب XP,200 ٠ غت ػغ اعط ا خ ظب ا زشغ ١ ف ؾشن االلشاص. زؤوذ ع د IIS ف ف ذ ص 200 XP ع ف ٠ ظ ش ه IIS اال ف ٠ ز إػذاد ا خبد ؽخ ا زؾى خزبس Administrative Tools خخباس طفحاث ASP ف ا شؽ خ االػذاد ٠ خ ٠ ز ا شبء غ ذ داخ ا مشص ا ظ ت االعبع ثأع. ibd pub 1. ف داخ زا ا غ ذ ٠ ؽذ ف اخشثبع www root 2. ASP 3. ٠ ى ا شبء غ ذ داخ ا غ ذ ا غ ثأع اي www root ثئع ضال my web داخ زا ا غ ذ ثب زذاد.ASP 4. فزؼ ا غزؼشع ا ظفؾبد وزبثخ االر. Localhost/myweb/program name.asp ٠ ؾفع ف غخ ػشع ؾز ٠ بد ASP ف غزؼشع write output to a browser ف اي ASP ػجبسح ػ ف HTML اال ا زا ا ف ٠ ؾز ػ االعىشثذ ا ز ٠ ز ر ف ١ ز ف اي Visual Basic Script and java ( ثبؽذ غبد االعىشثذ ض ASP ؽ ١ ش ٠ ز وزبثخ ػجبساد Serves script) ٠ ز وزبثز ب داخ ف اي ASP ث ١ ػال ز. ا ب ػجبسح Response.write رغزخذ ؼشع ا غ ف غخ اي ASP و ب ف ا جش ب ظ ا زب : <html> <body> - 4 -
response.write("hello World!") </body> </html> و ب ر عذ ػجبسح اخش شبث ب ؼشع ا ظ ص فمؾ ر ه ثأعجبق ا ؼجبسح ا ظ ١ خ ثؼال خ = ػغ ا ض ث ١ ػال ز ر ظ ١ ض و ب ف ا شفشح ا زب ١ خ : "hello world" اسخخذاو ال Visual Basic Script في طفحاث ASP ف ا ػغ االفزشاػ رؼزجش ع ١ غ فبد ايASP اعىشثذ ث اعطخ Visual Basic Script و ب ر ػشػ ب عبثمب. اسخخذاو ال Java Script في طفحاثASP ف ؽب خ اعزخذا غخ ٠ غت Java Script االػال ػ زح ا غخ ف ا جذا ٠ خ ثب ظ سح ا زب ١ خ : @language="java script".1.2 perl,rexx,python script ب ه صالصخ غبد اخش رؼ ف شى خطىاث ح فيز يهفاث الASP 1. ا طش ٠ مخ ا جبششح فزؼ غزؼشع ا ظفؾبد localhost/file name.asp وزبثخ 2. ا طش ٠ مخ ا ضب ١ خ Control penal Administrative IIS Default Virtual Directray انذنيم االفخشاضي ا ؽذح ا ز ٠ ز ا شأ ث اعطخ ايIIS ر ػغ ف ١ فبد ASP اع ػ ١ خ ا ز ف ١ ز كيفيت ا شاء انذنيم االفخشاضي Default.1 web side.2 3. ا ؼغؾ ثب ضساال ٠ اخز ١ بس New 4. اخز ١ بس اع ا ذ ١ ا ػغ ا ز ٠ ػغ ف ١ ا ج ١ ب بد ص او بي خط اد ا ذ ١ االفزشاػ 5. اخز ١ بس ا ذ ١ ا ز ر أ شب. 6. ا ؼغؾ ثب ضس اال ٠ اخز ١ بس. Browse - 5 -
ان خغيشاث Variables االػال ػ ان خغيشاث رغزخذا ا زغ ١ شاد ف رخض ٠ ا ؼ بد. زا ا ضبي ٠ ػؼ و ١ ف ١ خ االػال ػ ا زغ ١ شاد رخظض ب ل ١ خ اعزخذا ا م ١ خ ف ض..1 <html> <body> dim name name="donald Duck" response.write("my name is: " & name) </body> </html> Output My name is: Donald Duck االػال ػ يظفىفت رغزخذ ف رخض ٠ ع غ خ ا ج ١ ب بد ا زغب غخ ا راد ػاللخ. زا ا ضبي ٠ ػؼ و ١ ف ١ خ االػال ػ ظف فخ ا ز رخض ف ١ ب أع بء..2 <html> <body> Dim famname(5),i famname(0) = "Jan Egil" famname(1) = "Tove" famname(2) = "Hege" famname(3) = "Stale" famname(4) = "Kai Jim" famname(5) = "Borge" For i = 0 to 5 response.write(famname(i) & "<br />") - 6 -
Next </body> </html> Output Jan Egil Tove Hege Stale Kai Jim Borge 3. حهمت حكشاسيت الظهاس انؼ اوي انسخه في الHTML <html> <body> dim i for i=1 to 6 response.write("<h" & i & ">Heading " & i & "</h" & i & ">") next </body> </html> Output Heading 1 Heading 2 Heading 3 Heading 4 Heading 5 Heading6-7 -
اظهاس انىلج باسخخذاو نغت Visual Basic Script زا ا ضبي ع ف ٠ ظ ش سعبئ خز فخ غزخذ اػز بدا ػ لذ ا خبد.4 <html> <body> dim h h=hour(now()) response.write("<p>" & now()) response.write("</p>") If h<12 then response.write("good Morning!") else response.write("good day!") end if </body> </html> output 12/18/2011 4:45:53 AM Good Morning! @ language="javascript" <html> <body> var d=new Date() var h=d.gethours() Response.Write("<p>") Response.Write(d) Response.Write("</p>") if (h<12) { Response.Write("Good Morning!") 5. اظهاس انىلج باسخخذاو java script زا ا ضبي فظ ا ضبي ا غبثك الو ٠ خز فب ف ا ظ ١ غخ. - 8 -
} else { Response.Write("Good day!") } </body> </html> output Sun Dec 18 04:53:31 EST 2011 Good Morning ػ ش ان خغيشاث Lifetime of Variables االػال ػ زغ ١ شخبسط األعشاء ٠ ى ا ط ي ا ١ ا زؼذ ٠ ف ١ ثب script ف ف.ASP االػال ػ زغ ١ ش داخ االعشاء ٠ شئ ٠ ذ و شح األعشاء ا فز.ال ٠ غ ؼ ال script خبسط األعشاء ا ط ي أ ا زؼذ ٠ ف ا زغ ١ ش.االػال ػ ا زغ ١ شاد ط ي إ ف ASP أ اوضش ف أ رؼ ثأ ب زغ ١ شاد ع غخ ػ Session variable أ زغ ١ شاد رطج ١ ك Application variable يخغيشاث اندهست Session variable رغزخذ زغ ١ شاد ا غ غخ زخض ٠ ؼ بد ؽ ي غزخذ اؽذ, زبؽخ غ ١ غ ا ظفؾبد ف رطج ١ ك اؽذ. ػبدح ا ؼ بد ا خض خ ف زغ ١ شاد ا غ غخ األع, ا ٠ خ, األفؼ ١ بد. يخغيشاث انخطبيك Application variable زغ ١ شاد ا زطج ١ ك أ ٠ ؼب زبؽخ غ ١ غ ا ظفؾبد ف رطج ١ ك اؽذ. زغ ١ شاد ا زطج ١ ك رغزخذ زخض ٠ ؼ بد ؽ ي وبفخ ا غزخذ ١ ف رطج ١ ك ؾذد. االخشاءاث Procedures ػجبسح ػ ؽذح ظ ١ ف ١ خ ٠ ز ف ١ ب ػذد ا خط اد ٠ ز بدار ب الؽمب. ٠ ز ا شبء االعشاءاد ف غخ ASP ثطشلز ١ :.1 باسخخذاو Visual Basic Script ٠ جذأ االعشاء ف غخ Visual Basic Script ثب ى خ ا ؾغ صح ٠ ز sub ثب ى خ end sub و ب ٠ ز إػبفخ اع االعشاء ٠ ز ر ض ١ ا زغ ١ شاد ف داخ عغ االعشاء ا م اػذ ا الر خ ؼشع ؽذاد االعشاءاد و ب ف ا ضبي ا زب : - 9 -
<html> <head> sub vbproc(num1,num2) response.write(num1*num2) end sub </head> <body> <p>result: call vbproc(3,4)</p> </body> </html> ف ا ضبي ػال ر االػال االعشاء ثبع vbproc ف داخ ر االػال ػ زغ ١ ش ٠ ر ذ ؽجبػخ برظ بر ١ ا زغ ١ ش ٠. ي اداة االخشاء call procedures ٠ ز بداح االعشاء ثأع االعشاء ا زغ ١ شاد ا ذاخ خ ف رشو ١ ج ثؼذ ا ى خ ا ؾغ صح call و ب ف االر : <p>result: call vbproc(3,4)</p>.2 بأسخخذاو Java Script االػال ػ االعشاء ثبعزخذا ايScript ٠ ز Java االػال ػ ا غطشا زب ف اػ ف ايASP. @ language="javascript" ٠ ز اثزذاء عغ االعشاء ثب ى خ ا ؾغ صح function إع االعشاء ا زغ ١ شاد ف داخ. ٠ ز بداح االعشاء ثأع االعشاء ا زغ ١ شاد االر ر ش ٠ ش ب. و ب ف االر. <html> <head> function jsproc(num1,num2) { Response.Write(num1*num2) } </head> <body> <p>result: jsproc(3,4)</p> - 10 -
</body> </html> انفشق بي اخشاءاث script( )Visual Basic Script, Java ف ؽب خ بداح اعشاء ىز ثب ث غخ Visual Basic Script ر عذ و خ ؾغ صح ٠ غت call ػغ ا م ١ ا ز ٠ شاد ر ش ٠ ش ب ف ال اط ض vbproc(3,4) ٠ ى call ػذ اعزخذا ا ى خ ا ؾغ صح ثز ه رى ا م ١ ا شسح ل ١ اخزجبس ٠ خ ف ال اط أ د ر ه. أ ب ف ؽب خ بداح االعشاء ىز ثب ث غخ ٠ غت Java Script إػبفخ ال اط م ١ ا ز ٠ شاد ر ش ٠ ش ب. ف ؽب خ بداح اعشاء ىز ثب ث غخ Visual Basic Script أ Java Script وب ذ الر عذ ل ١ ٠ شاد ر ش ٠ ش ب ٠ ى وزبثخ االل اط أ ػذ وزبثز ب. ان ارج Forms حسخخذو نغت ASP دانخي ه ا : Request. Query String.1 <html> <body> <form action="demo_reqquery.asp" method="get"> Your name: <input type="text" name="fname" size="20" /> <input type="submit" value="submit" /> </form> dim fname fname=request.querystring("fname") If fname<>"" Then Response.Write("Hello " & fname & "!<br />") Response.Write("How are you today?") End If </body> </html> ف ا جش ب ظ ا غبثك ر االػال ػ رط السعبي أع إ ط ذ ق ض اعزخذ ذ ل ١ خ خبطخ Name العزخذا ل ١ ز ب ف ػ ١ بد ثش غ ١ خ ثئعزخذا صس االسعبي. ر االػال ػ ايScript ر اعزخذا ػجبسح Request. Query String السعبي ؾز ا ظ ذ ق ا ظ ر ه ثبعزخذا ل ١ خ ا زغ ١ ش ا خبطخ Name ف ا رط. - 11 -
Request. Form و ١ ف ١ خ اسعبي ا م ١ ا ج ١ ب ١ خ غزخذ ١ ف ر ه ايpost ر ه خالي ا ضبي ا زب فظ ا ضبي ا غبثك الو ف ز ا شح غزخذ Request. Form.2 <html> <body> <form action="demo_simpleform.asp" method="post"> Your name: <input type="text" name="fname" size="20" /> <input type="submit" value="submit" /> </form> dim fname fname=request.form("fname") If fname<>"" Then Response.Write("Hello " & fname & "!<br />") Response.Write("How are you today?") End If </body> </html> Radio Button ف زا ا ضبي ر االػال ػ زغ ١ ش رز ؽجبػخ ل ١ ز و ب ر اخزجبس ا م ١ خ ا خزبسح فمب ؼ ١ خ االخز ١ بس "select" ؽ ١ ش ٠ ز اسعبي ا م ١ خ ا خزبسح ؽجبػز ب و ب ف ا جش ب ظ..3 <html> dim cars cars=request.form("cars") <body> <form action="demo_radiob.asp" method="post"> <p>please select your favorite car:</p> <input type="radio" name="cars" if cars="volvo" then Response.Write("checked") value="volvo">volvo</input> <br /> <input type="radio" name="cars" if cars="saab" then Response.Write("checked") - 12 -
value="saab">saab</input> <br /> <input type="radio" name="cars" if cars="bmw" then Response.Write("checked") value="bmw">bmw</input> <br /><br /> <input type="submit" value="submit" /> </form> if cars<>"" then Response.Write("<p>Your favorite car is: " & cars & "</p>") end if </body> </html> Cookie ياهى الcookie غب جب ب رغزخذ ايcookie زؾذ ٠ ذ ٠ خ ا غزخذ.اي cookie ف طغ ١ ش ٠ زؼ اي serviceػ ع بص ا ى ج ١ رش ا خبص ثب غزخذ.ف و شح فظ ا ى ج ١ رش ٠ ط ت طفؾخ غ غزؼشع ١ ز إسعبي ف رؼش ٠ ف االسرجبؽ غ ف ايASP أ ٠ ؼب, ٠ ى ه ػ ؽذ ع اء إ شبء اعزشعبع ل ١ ايcookie."فئ ايCookie ف رؼش ٠ ف االسرجبؽ" كيفيت إ شاء يهفCookie ٠ غزخذ زا اال ش ال شبء ف اي Cookie أ رؼش ٠ ف االسرجبؽ" Response.Cookies " الؽظخ : األ ش ٠ غت Response.Cookies أ رظ ش لج ع.>HTML< " رؼ ١١ ا م ١ خ Alex" " : ف ا ضبي أد ب ع ف م ثئ شبء اسرجبؽ ٠ غ firstname" Response.Cookies("firstname")="Alex" ا ى رؼ ١ خظبئض السرجبؽ ض رؾذ ٠ ذ ا لذ ا ىب ػ ذ ب ٠ ز ر ز اي cookie - 13 -
Response.Cookies("firstname")="Alex" Response.Cookies("firstname").Expires=#May 10,2012# كيفيت اسخاع لي ت الcookie ٠ ز اعزخذا اال ش ا زب العزشعبع ل ١ خ ايcookie "Request.Cookies" ف ا ضبي أد ب فئ ب غزشعغ ل ١ خ اي cookieا غ بح " firstname " ػشػ ػ ا ظفؾخ: fname=request.cookies("firstname") response.write("firstname=" & fname) Output: Firstname=Alex ال cookies يغ ان فاحيح: إرا وب ايcookie ٠ ؾز ػ غ ػخ ا م ١ ا زؼذدح فؼ ذ ب م ي أ االسرجبؽبد أ ايcookies ر ز ه فبر ١ ؼ. " ايcookie ٠ ز ه فبر ١ ؼ ف ا ضبي أد ب ع ف م ثئ شبء غ ػخ ايcookie ا غ بح user" رؾز ػ ؼ بد ؽ ي غزخذ أ "user" : Response.Cookies("user")("firstname")="John" Response.Cookies("user")("lastname")="Smith" Response.Cookies("user")("country")="Norway" Response.Cookies("user")("age")="25" لشاءة خ يغ الcookie ظشح ػ ا زؼ ١ بد ا جش غ ١ خ ا زب ١ خ: - 14 -
Response.Cookies("firstname")="Alex" Response.Cookies("user")("firstname")="John" Response.Cookies("user")("lastname")="Smith" Response.Cookies("user")("country")="Norway" Response.Cookies("user")("age")="25" )Cookies( فزشع أ ا خبد اسع وبفخ فبد رؼش ٠ ف االسرجبؽ أػال غزخذ.ا ٢ ش ٠ ذ أ مشأ ع ١ غ ا فبد ا شع خ إ ا غزخذ.ا ضبي ا زب ٠ ػؼ و ١ ف ١ خ ا م ١ ب ثز ه :الؽع أ س ض أد ب ٠ زؾمك ع د فبر ١ ؼ اسرجبؽ غ ا خبط ١ خ HasKeys <html> <body> dim x,y for each x in Request.Cookies response.write("<p>") if Request.Cookies(x).HasKeys then for each y in Request.Cookies(x) response.write(x & ":" & y & "=" & Request.Cookies(x)(y)) response.write("<br />") next else Response.Write(x & "=" & Request.Cookies(x) & "<br />") end if response.write "</p>" next </body> </html> Output: firstname=alex user:firstname=john user:lastname=smith - 15 -
user:country=norway user:age=25 يالحظت : ػ ذ وزبثخ زا ا ى د ع ف ٠ م ثطجبػخ ع ١ غ اي cookies ا ع دح ػ ع بصن ا خبص ثه ع اء وب ذ ب فبر ١ ؼ أ ١ ظ ب فبر ١ ؼ أ و ذ ا ذ غغ ف أ لغ وب ٠ زجغ ظب اي cookies ع ف رظ شع ١ غ فبد ايcookies ا ز ذ ٠ ه. يارا نى أ ان خظفح ال يذػى الcookie إرا وب ا زطج ١ ك ا خبص ثه غ غزؼشع ا زظفؾبد ال رذػ فبد رؼش ٠ ف االسرجبؽ أ ايcookie ع ف رؼطش إ اعزخذا أعب ١ ت أخش ز ش ٠ ش ا ؼ بد طفؾخ إ آخش ف ا زطج ١ ك ا خبص ثه. بن ؽش ٠ مزب م ١ ب ثز ه : 1. إضافت يؼايالث إنى URL ٠ ى ه إػبفخ ؼب الد إ URL و ب ٠ : <a href="welcome.asp?fname=john&lname=smith">go to Welcome Page</a> اعزشداد ا م ١ ف ف "welcome.asp" ض زا: fname=request.querystring("fname") lname=request.querystring("lname") response.write("<p>hello " & fname & " " & lname & "!</p>") response.write("<p>welcome to my Web site!</p>").2 اسخخذاو ىرج Use a form ٠ ى ه اعزخذا ا رط.ا رط ٠ شس إدخبي ا غزخذ إ "welcome.asp" ػ ذ ب ٠ مش ا غزخذ ػ صس إسعبي: <form method="post" action="welcome.asp"> First Name: <input type="text" name="fname" value="" /> Last Name: <input type="text" name="lname" value="" /> <input type="submit" value="submit" /> </form> اعزشداد ا م ١ ف ف "welcome.asp" ض زا: fname=request.form("fname") lname=request.form("lname") response.write("<p>hello " & fname & " " & lname & "!</p>") - 16 -
response.write("<p>welcome to my Web site!</p>") خهست انكائ The Session object ا وبئ ا غ غخ ٠ غزخذ زخض ٠ ا ج ١ ب بد, أ رغ ١١ ش اإلػذاداد غ غ خ ا غزخذ )أ ػ ذ ب ٠ ى ا غزخذ داخ ا ا لغ (. إ ا زغ ١١ شاد ا خض خ داخ وبئ ا غ غخ رؾ ا ج ١ ب بد إ غزخذ اؽذ ز فشح ى ا ظفؾبد ف رطج ١ ك اؽذ. ر ػ ١ ؼ أوضش: ػ ذ ب و ذ رزؼب غ أ رطج ١ ك ػ ع بص ا ى ج ١ رش ا خبص ثه ل ذ ثفزؾز أعش ٠ ذ ثؼغ ا زغ ١١ شاد ص رم ثئغالل. زا ٠ شج ر ب ب ا غ غخ. ا ى ج ١ رش ٠ ؼشف أ ذ. ٠ ؼشف ػ ذ فزؼ ا زطج ١ ك ػ ذ إغالل. ى ػ شجىخ اال زش ذ ب ه شى خ اؽذح : أ خبد ا ٠ ت ال ٠ ؼشف أ ذ برا رفؼ أل ػ ا HTTP ال ٠ ؾفع ا ؾب خ. ASP ؽ ز ا شى خ ػ ؽش ٠ ك إ شبء اسرجبؽ فش ٠ ذ ى غزخذ. ٠ ز إسعبي ايcookie إ ع بص ا غزخذ أ ٠ ؾز ػ ا ؼ بد ا ز رظف ا غزخذ. زا ب ٠ غ اع خ ا ىبئ.Session object ع غخ ا ىبئ رخض ؼ بد ػ ا غزخذ أ رغ ١١ ش اإلػذاداد غ غخ ػ غزخذ. ا زغ ١ شاد ا خض خ ف وبئ ع غخ رؾ ؼ بد ؽ ي غزخذ اؽذ زبؽخ غ ١ غ ا ظفؾبد ف رطج ١ ك اؽذ. ا ؼ بد ا ؼ ١ خ ا خض خ ف زغ ١ شاد ا غ غخ االع ا ٠ خ األفؼ ١ بد. ٠ شئ ايserver ػ ع غخ وبئ عذ ٠ ذح ى غزخذ عذ ٠ ذ ٠ ذ ش ع غخ ا ىبئ Session object ػ ذ ا ز بء ا غ غخ )إ ز بء طالؽ ١ ز ب(. يخى بذأ اندهست رجذأ ا غ غخ ػ ذ ب: أ غزخذ عذ ٠ ذ ٠ ط ت ف اي ASP ا ف ٠Global.asaزؼ إعشاء Session_OnStart ٠ ز رخض ٠ ا م ١ خ ف زغ ١ ش ا غ غخ. ٠ ط ت ا غزخذ ف ASP ا ف ٠ غزخذ Global.asa ع > OBJECT <إ ض ١ ا ىبئ غ طبق ع غخ. يخى ح خهي اندهست ر ز ا غ غخ إرا وب ا غزخذ ٠ ط ت أ ٠ ؾذ ٠ ش طفؾخ ف ا زطج ١ ك فزشح ؾذدح. افزشاػ ١ ب 20 دل ١ مخ. إرا و ذ رشغت ف رؼ ١١ فبط ص خ أ وب ذ خ. ألظش أ أؽ ي ا فزشح االفزشاػ ١ خ رغزخذا خبط ١ خ - 17 -
ا ضبي ا زب ٠ ؾذد خ ا فبط ا ض لذس 5 دلبئك : Session.Timeout=5 اعزخذا األع ة ا زخ ػ ال بء ا غ غخ ػ ا ف س: Session.Abandon يالحظت : إ ا شى خ ا شئ ١ غ ١ خ ثب غجخ غ غبد ز ٠ غت أ ر ز,فئ ه الرؼشف ز ٠ ى أخش ؽ ت غزخذ ا ط ت االخ ١ ش أ ال ز ه ال ؼشف ز غؼ ا غ غخ فز ؽخ.فئ اال زظبس فزشح ؽ ٠ خ رغز ه اسد ا غ ١ شفش. ى ارا ر غؼ ا غ غخ ثغشػخ وج ١ شح فئ ه ع ف رخبؽشف ؽب خ ب إرا ػبد ا غزخذ وب ا غ ١ شفش لذ لب ث غؼ و ا ج ١ ب بد, ػ ذ ب ع ف ٠ طش ا غزخذ إ ا جذء عذ ٠ ذ. إ إ ٠ غبد ص إ ز بء ا غ غخ ٠ ى أ ٠ ى طؼجب.! حه يح : إرا و ذ رغزخذ زغ ١ شاد ا غ غخ,ف االفؼ أ رخض ث ب و ١ بد طغ ١ شح ا ج ١ ب بد رخض ٠ اعزشعبع زغ ١ شاد ا غ غخ أ ش ء ثب غجخ غ غخ ا ىبئ أ ٠ ى ه رخض ٠ ا زغ ١ شاد ف ف ١ ب. ا ضبي ا زب رؼ ١١ اع زغ ١ ش ا غ غخ " Duck " Donald ػ ش زغ ١ ش ا غ غخ إ : "50" Session("username")="Donald Duck" Session("age")=50 ػ ذ ب ٠ ز رخض ٠ ا م ١ خ ف زغ ١ ش ع غخ ػ ٠ ز ا ز ط إ ١ ب أ طفؾخ ف رطج ١ ك: ASP Welcome Response.Write(Session("username")) ٠ ى ه أ ٠ ؼب رخض ٠ رفؼ ١ الد ا غزخذ ف وبئ ا غ غخ ص ط ي ر ه ا زفؼ ١ الخزبس ب ا ظفؾخ ؼ دح إ ا غزخذ. ا ضبي ا زب ٠ ؾذد غخخ ض فمؾ ا ظفؾخ إرا وب ا غزخذ ذ ٠ دلخ ا شبشخ خفؼخ : - 18 -
If Session("screenres")="low" Then This is the text version of the page Else This is the multimedia version of the page End If إصانت يخغيشاث اندهست ع غ ا ؾز ٠ بد ػ وبفخ زغ ١ شاد ا غ غخ. ف ا ى إصا خ زغ ١ ش ا غ غخ غ اعزؾذا أع ة إصا خ. ا ضبي أد ب ٠ ض ٠ ع غخ ا زغ ١ ش sale" " إرا وب ذ ل ١ خ "age" ع غخ ا زغ ١ ش أل : 18 If Session.Contents("age")<18 then Session.Contents.Remove("sale") End If إلصا خ وبفخ ا زغ ١ شاد ف ع غخ ػ اعزخذ األع ةRemoveAll Session.Contents.RemoveAll() انخ مم في ان حخىياث: ا ز م ف ا ؾز ٠ بد ا ز م ف وبفخ ا زغ ١ شاد ا غ غخ ش ب ر رخض ٠ ف ١ وبالر : Session("username")="Donald Duck" Session("age")=50 dim i For Each i in Session.Contents Response.Write(i & "<br />") Next Result: username age - 19 -
ر Count ارا و ذ ال رؼشف ػذد ا ج د ف ع غ ا ؾز ٠ بد ٠ ى ه اعزخذا ا خبط ١ خ: dim i dim j j=session.contents.count Response.Write("Session variables: " & j) For i=1 to j Response.Write(Session.Contents(i) & "<br />") Next انخ مم ػ طشيك StaticObjects ٠ ى ه خالي StaticObjects ؼشفخ ل ١ و ا ىبئ بد ا خض خ ف ا ىبئ ايSession Result: Session variables: 2 Donald Duck 50 dim i For Each i in Session.StaticObjects Response.Write(i & "<br />") Next انخطبيك Application غ ػخ ا ظفؾبد ايASP رؼ ؼب أل غبصػ ؾذد. كائ اث انخطبيماث Applications Objects ا زطج ١ مبد ف طفؾبد ايweb غ ػخ فبد اي ASP ا ز رى ز افمخ ؼ ؼ ١ ال غبص خ ؾذدح رغزخذ وبئ بد ا زطج ١ ك شثؾ غ ػخ زح ا فبد ؼب,رغزخذ وبئ بد ا زطج ١ ك ؾفع ا زغ ١ شاد ى ا ط ي ا ١ ب أ طفؾخ. شج ١ خ ثىبئ بد ا غ غخ االا االخزالف ا ؽ ١ ذ ا ف وبئ بد ا زطج ١ مبد و ا غزخذ ١ ٠ شزشو ف رطج ١ ك اؽذ الو غ ا غ غخ رى بن ع غخ رطج ١ ك اؽذح ى غزخذ. رى ف وبئ بد رطج ١ مبد ا ؼ بد ا ز رغزخذ غ ػخ ا ظفؾبد. ض رطج ١ ك ل اػذ ا ج ١ ب بد االرظبي ث ب. ٠ ى ا ط ي زح ا ؼ بد وبفخ ا ظفؾبد ٠ ى رغ ١ ش زح ا ؼ بد ع اؽذح ٠ ؤصش ا زغ ١ ش ف رؼذ ٠ ثم ١ خ ا ظفؾبد ا ز ر افشد ب زح ا ؼ بد. - 20 -
حفع واسخشخاع يخغيشاث انخطبيماث : ٠ ى ا ط ي ا زؼذ ٠ ال زغ ١ ش ث اعطخ طفؾخ ا زطج ١ ك ا ؼ ؽ ١ ش ٠ ى أ شبء زغ ١ شاد رطج ١ ك وبالر ثبعزخذا Globel.asa <script language="vbscript" runat="server"> Sub Application_OnStart application("vartime")="" application("users")=1 End Sub </script> Response.Write(Application("users")) active connections. " users" : "vartime" ف ا ضبي أػال ل ب ثئ شبء زغ ١ شاد ا زطج ١ ك ب ٠ ى ه ا ط ي إ ل ١ خ زغ ١ ش رطج ١ ك و ب ٠ : dim i For Each i in Application.Contents Response.Write(i & "<br />") Next انخ مم في ان حخىياث ا ؾز ٠ بد وبفخ زغ ١ شاد ا زطج ١ مبد ٠ ى ا ز م ف ١ ب وبالر : ارا و ذ ال رؼشف ػذد ا ج د ف ع غ ا ؾز ٠ بد ٠ ى ه اعزخذا ا خبط ١ خ: Count dim i dim j j=application.contents.count For i=1 to j Response.Write(Application.Contents(i) & "<br />") Next انخ مم في ان حخىياث انثابخت StaticObjects ث ب ٠ ى ا ز م ف ا ؾز ٠ بد ا ضبثزخ ؼشفخ ل ١ زح ا ىبئ بد ا ز رؼ ف ا زطج ١ ك و ب ف ا زب : - 21 -
dim i For Each i in Application.StaticObjects Response.Write(i & "<br />") Next انحدض وفك انحدضunlock lock & ٠ ى ؽغض ا زطج ١ ك ػ ؽش ٠ ك ا طش ٠ مخ lock ػ ذ ب ٠ ز ؽغض اؽذ ا زطج ١ مبد ٠ ى بن ػذ ا ىب ١ خ غزخذ زغ ١ ش زغ ١ شاد زح ا زطج ١ مبد ا غزخذ ١ ا ز ٠ ٠ ؼ ث زح ا طج ١ مبد ف فظ ا ؾظخ ا ؾغض ٠ ى فه ا ؾغض ثب طش ٠ مخ unlock ا ز ثذ س ب رم ثبسعبع زغ ١ شاد ا زطج ١ ك. Application.Lock 'do some application object operations Application.Unlock انخض ي ان ىخهه The #include Directive ػ ١ خ رؼ ١ ف ASP ف ف اخش لج ا ز ف ١ ز لج ا خبد رغزخذ ف زح ا ؾب خ #include directive. رغزخذ ايDirective The #include ف أ شبء و االر functions, headers, footers, or elements ف غ ػخ ا ظفؾبد انظيغت نخض ي ان هفFiles Syntax for Including رىزت ف ا ؽذح االر : ؽ ١ ش ٠ ز االػال ػ ؽذح االع بد ثز ه ا طشلز ١ : <!--#include virtual="somefilename"--> or <!--#include file ="somefilename"--> The Virtual Keyword.1 رغزخذ ػ ذ ب ٠ ى ب ه د ١ إفزشاػ رغزخذ ؼ خ غبس زا ا ذ ١ ض : <!-- #include virtual ="/html/header.inc" --> - 22 -
The File Keyword.2 ٠ غزخذ ف زح ا ؾب خ ا غبس ا ؾم ١ م ا ضبثذ ف ا شاد رؼ ١ ٠ ىزت ف ١ ب وبفخ ؽذاد زا ا غبس ط ال ا ا ف : <!-- #include file ="headers\header.inc" --> هاو : ٠ ز ا زؼب غ ا فبد ا زؼ ١ إدساع ب لج أ ٠ ز ر ف ١ ز ا جشا ظ ا ظ ١ خ. ا ض ا زب ال ٠ ؼ الأ ٠ فز ASP اي #include ا ز ع ١ ١ لج أ ٠ ؼ ١ ا م ١ خ زغ ١ ش. fname="header.inc" <!--#include file="fname"--> ال ٠ ى ه فزؼ أ إغالق ؾذد ف ف ظ INC. لذ ال ٠ ؼ ا جش ب ظ ا ظ ا زب : For i = 1 To n <!--#include file="count.inc"--> Next For i = 1 to n <!--#include file="count.inc" --> Next الو ز ا جش ب ظ ع ف ٠ ؼ : Global.asa file ػجبسح ػ ف ٠ ؾز ػ رؼش ٠ ف ا ىبئ بد,ا زغ ١ شاد ا طشق ا ز ٠ ى ا ط ي ا ١ ب ث اعطخ ا ظفؾبد ؽ ١ ش ا وبفخ غزؼشػبد ا ظفؾبد ا بؽ ١ خ ا جش غ ١ خ ٠ ى ا رؼ ف global ػ عج ١ ا ضبي JavaScript, VBScript, JScript, PerlScript, etc. يحخىياث ان هف Global.asa اؽذاس ا زطج ١ مبد 1. اؽذاس ا غ غبد 2. رؼش ٠ ف ا اع ا ىزجبد 3. - 23 -
4. شعؼبد ا ؼ ١ خ ا زؼ ١ خ يهحىظت ٠ ز رخض ٠ زا ا ف ف ا ذ ١ االعبع زطج ١ مبد غخ اي asp و اؽذح زح ا زطج ١ مب د رؾز ػ ف اي global االحذاد في يهف Event in global االؽذاس ف ف زح االؽذاس ٠ م ف global.asa ثبخجبس ا ؾبعت ػ ذ ا جذء غ ا زطج ١ ك ا ا غ غخ ر ػغ ا ؽذاد ا جش ؾ ١ خ ؾز ٠ بد زا ا ف لفب الؽذاس ف ػب االؽذاس ؽ ١ ش ٠ ؾز ف global.asa ػ اسثغ أ اع االؽذاس Application_OnStart.1 غذ زا ا ؾذس ػ ذ ثذء ا غزخذ غ طفؾخ اي ٠ ؾذس asp ػ ذ شؽ خ ثذء ا ؼ غ خبد asp ف شؽ خ االعزؼبدح restart أ ف شؽ خ رؾش ٠ ش ف ايglobal.asa. أ ب ف ؽب خ ثذء ا غ غخ start. session_ Session_OnStart.2 ٠ ؾذس زا ا ؾذس ف ؽب خ اعزخذا ؽ ت ؼ بد طفؾخ ا وبئ ا ي طفؾخ ف ا زطج ١ ك. Session_OnEnd.3 ٠ ؾذس زا ا ؾذس ػ ذ ا فزشح ص ١ خ لب ا غزخذ ثأ بء ا غ غخ ؽ ١ ش أ زح ا غ غخ ر ز إراوب ذ طفؾخ ا زطج ١ ك غ ١ ش فؼب خ فزشح ؽ ٠ خ أ أ ا غزخذ ٠ م ثط ت ا ؼ بد أ ا مؼبء ا فزشح ا ض ١ خ ف ا ػغ االفزشاػ 20 دل ١ مخ. Application_OnEnd.4 ٠ ؾذس زا ا ؾذس ػ ذ ب ٠ ى أخش غزخذ زطج ١ ك لب ثئ ب ا غ غخ. زا طبثمب ر ب ب ػ ذ ب ٠ ى خبد اال زش ذ لب ثب ٠ مبف ا ؼ ؽ ١ ش ٠ ؾذس زا االعشاء ػ شا إراوب ب ه اػذاد ز ه ف ؽب خ ا ٠ مبف ا زطج ١ ك ض ؽزف ا غغالد ا وزبثخ ؼ بد ف ف ظ ؽ ١ ش ٠ ظجؼ ثؼذ ب ف global.asa ثب شى ا زب. <script language="vbscript" runat="server"> sub Application_OnStart 'some code end sub sub Application_OnEnd 'some code end sub sub Session_OnStart 'some code end sub sub Session_OnEnd 'some code end sub - 24 -
</script> يهحىظت ف ؽب خ اعزخذا ف ١ ظ global.asa ا ؼش س اعزخذا ؾذاد غخ ايasp ؽ ١ ش ا االػال ػ زا ا ف ٠ ػغ ف ف HTML ثبػزجبس اعشاء س ر ١. حؼشيف انكائ اث <object> Declarations ا ى أ شبء وبئ بد غ غبد ا زطج ١ مبد ف ف global.asa ثأعزخذا ا ع <object> أ ٠ غت ا ٠ ى ا ع خبسط اي script و ب ف ا ظ ١ غخ ا زب ١ خ : <object runat="server" scope="scope" id="id" {progid="progid" classid="classid"}>... </object> ان ؼايالثParameter انىطفDescription Scope رؾذ ٠ ذ ا غبي بإراوب زطج ١ ك أ ع غخ ID رؾذ ٠ ذ ل ١ خ فش ٠ ذح ى وبئ ProgID ا م ١ خ ID جش ب ظ ا شاثطخ غ ا فئخ classid ؽ ١ ش رأخز ا ظ ١ غخ ا زب ١ خ [Vendor.]Component[.Version] classid رؾذ ٠ ذ ل ١ خ فش ٠ ذح اع االرظبي زا أ ب إرا وب سل ا جش ب ظ أ ا فئخ Example <object runat="server" scope="session" id="myad" progid="mswc.adrotator"> </object> االػال ػ ا ىبئ بد داخ ف اي ٠ ى global.asa زح ا ىبئ بد ا زؼب وبفخ ا زطج ١ مبد و ب ف االر GLOBAL.ASA: <object runat="server" scope="session" id="myad" progid="mswc.adrotator"> </object> You could reference the object "MyAd" from any page in the ASP application: - 25 -
SOME.ASP FILE: =MyAd.GetAdvertisement("/banners/adrot.txt") حؼشيف ا ىاع ان كخباث TypeLibrary Declarations أ اع ا ىزجبد ا ز رؾز ػ ا فبد راد اال اع DLL ا فبد راد ا ؼاللخ ث ١ وبئ بد االرظبي ا ؾب. ٠ ز ر ه زؼ ١ call أ ػ ١ خ بداح ف داخ ف global.asa أ ٠ ؼب ٠ ى ا ط ي ىبئ بد االرظبي ا ضبثزخ ػ ذ ؽذ س خطب ٠ ى رىشاس إرا وب اؽذ ا زطج ١ مبد غ ١ ش زؼ ف وبئ بد االرظبي ٠ غت ا ٠ ؼشف داخ ىزجخ ايglobal.asa ث زح ا ظ ١ غخ <!--METADATA TYPE="TypeLib" file="filename" uuid="id" version="number" lcid="localeid" --> انىطفDescription ٠ خظض ع ىزج ؾذد ف خبط ١ خ ا غبس ر ه ف ؽب خ سل ا غزخذ أ زط جبد ا غزخذ ٠ ؾذد سل فش ٠ ذ زح ا ىزجخ ف ؽب خ زط جبد ا غزخذ ا سل ا غزخذuuid اخزجبس ٠ خ ٠ ز اخز ١ بس ا غخخ أ االطذاسح أ ب ف ؽب خ ػذ ع د زح االطذاسح ٠ ز ا زؼب ؼ ب ؤخشا اخزجبس ٠ خ ا شل ا ؾ ىزجخ ان ؼايالثParameter File Uuid Version Lcid ASP 0222 ASP0223 ASP0224 ASP0225 Error Code ليى األخطاء Description ل ١ خ غ ١ ش ؽم ١ م ١ خ زح ا ىزجخ ػذ إ ٠ غبد اال اع ا ىزج ١ خ ػذ رؾ ١ األ اع ا ىزج ١ خ ا ع ا ىزج غ ١ ش طبثك - 26 -
انميىد ان فشوضت ػهى هزة ان هف Restrictions ا م ١ د ا ز رؾذد برا ٠ ز إػبفز ف ف. Global.asa ال ٠ ى ػشع ا ؽذاد ا ظ ١ خ ا ز رؼبف ف زا ا ف ر ه الأ زا ا ف ال ٠ م ثؼشع ا ؼ بد. ٠ ى فمؾ اعزخذا ع غبد ا خبد ف ؽب خ ثذء ا زطج ١ ك Application_OnStart ف ؽب خ Application_OnEnd ف ؽب خ ب ٠ خ ا غ غخ ٠ ى Session_OnEnd اعزخذا رطج ١ مبد ا خبد وبئ بد ا غ غخ. ف ؽب خ ثذء ا غ غخ ٠ ى Session_OnStart أعزخذا أ ا بء داخ ىبئ. كيفيت اسخخذاو االخشاءاث انفشػيت انخكشاسيت How to use the Subroutines ٠ غزخذ ف ايglobal.asa أل شبء ا زغ ١ شاد. ف ا ضبي أد ب ٠ ز ػشع ا ض ا ز ٠ م ف ١ ا غزخذ ثض ٠ بسح طفؾخ طفؾبد ايASP ؽ ١ ش ٠ ز رخض ٠ ا ض ف زغ ١ ش زغ ١ شاد ا غ غخ ف ؽب خ ا جذء زا ا زغ ١ ش ٠ ى ا ط ي أ ١ ث اعطخ وبفخ ا زطج ١ مبد زح ا ظفؾبد : <script language="vbscript" runat="server"> sub Session_OnStart Session("started")=now() end sub </script> ا زؾى ث اعطخ ايGlobal.asa ط ي إ ا ظفؾبد.ف زا ا ضبي غزخذ اال ش Redirect ز ع ا ظفؾخ ف ؽب خ ؽذ س إؽذ ا م ١ د. <script language="vbscript" runat="server"> sub Session_OnStart Response.Redirect("newpage.asp") end sub </script> اسسال انبشيذ االنكخشو يe-mail Sending اسسال انبشيذ االنكخشو ي بأسخخذاو (DCOSYS) DCOSYS اؽذ ا ى بد غخ ASP ا ز ٠ غزفبد ب ف ػ ١ خ اسعبي ا جش ٠ ذ اال ىزش. Collection Data Object ػجبسح ػ رم ١ خ ششوخ ب ٠ ىش عفذ ا ز ر رظ ١ ب زجغ ١ ؾ ػ ١ بد إ شبء ا شعب خ ف ؽذاد ا زطج ١ ك ز ه. ش الؽمب و ١ ف ١ خ اعزخذا زح االداء إل شبء سعب خ ا جش ٠ ذ. - 27 -
ياراػ حم يت CDONTs لب ذ ششوخ ب ٠ ىش عفذ ثئ ٠ مبف ا ؼ ١ بد زح االداء ف و ا ظ خ ا زشغ ١,2000 Windows ASP رطج ١ مبد غخ ف أNT CD ارا ض اال ش اعزخذا Windows XP and Windows.2003 ٠ غز ض ع ثب اعزجذاي ا شفشاد االر خ فمب زم ١ خ ا غذ ٠ ذح. CDO Set mymail=createobject("cdo.message") mymail.subject="sending email with CDO" mymail.from="mymail@mydomain.com" mymail.to="someone@somedomain.com" mymail.textbody="this is a message." mymail.send set mymail=nothing اسخخذاو حم يت CDOSYSفي اسسال بشيذ ظي Text Email في انبش ايح انسابك حى انمياو بكم ي : ا شبء اسعبي سعب خ. ػ ا ا شعب خ. ػ ا ا شع ا ١. رأو ١ ذ اسعبي ا شعب خ. اغالق ا جش ٠ ذ. Set mymail=createobject("cdo.message") mymail.subject="sending email with CDO" mymail.from="mymail@mydomain.com" mymail.to="someone@somedomain.com" mymail.bcc="someoneelse@somedomain.com" mymail.cc="someoneelse2@somedomain.com" mymail.textbody="this is a message." mymail.send set mymail=nothing ان ثال انسابك باضافت االحي : BCC و CC حيذ أ : - 28 -
: BCC إػبفخ ثش ٠ ذ فظ ا جش ٠ ذ ا شع. : CC اسعبع ؾز ا شعب خ إ ا جش ٠ ذ ا ز لب ثئسعبي ا شعب خ. اسسال بشيذ Sending an HTML e-mail HTML Set mymail=createobject("cdo.message") mymail.subject="sending email with CDO" mymail.from="mymail@mydomain.com" mymail.to="someone@somedomain.com" mymail.htmlbody = "<h1>this is a message.</h1>" mymail.send set mymail=nothing اسسال طفحت ويب ي يىلغ ػهى اال خش ج باسخخذاو HTML e-mail Set mymail=createobject("cdo.message") mymail.subject="sending email with CDO" mymail.from="mymail@mydomain.com" mymail.to="someone@somedomain.com" mymail.createmhtmlbody "http://www.w3schools.com/asp/" mymail.send set mymail=nothing اسسال طفحت ويب ي خهاص انك بيىحش انخاص بك باسخخذاو HTML e-mail Set mymail=createobject("cdo.message") mymail.subject="sending email with CDO" mymail.from="mymail@mydomain.com" mymail.to="someone@somedomain.com" mymail.createmhtmlbody "file://c:/mydocuments/test.htm" mymail.send set mymail=nothing اسسال ض انبشيذ اإلنكخشو ي يغ ان شفماث an Attachment - 29 -
Set mymail=createobject("cdo.message") mymail.subject="sending email with CDO" mymail.from="mymail@mydomain.com" mymail.to="someone@somedomain.com" mymail.textbody="this is a message." mymail.addattachment "c:\mydocuments\test.txt" mymail.send set mymail=nothing اسسال ض انبشيذ اإلنكخشو ي باسخخذاو يهمى بؼيذ remote server Set mymail=createobject("cdo.message") mymail.subject="sending email with CDO" mymail.from="mymail@mydomain.com" mymail.to="someone@somedomain.com" mymail.textbody="this is a message." mymail.configuration.fields.item _ ("http://schemas.microsoft.com/cdo/configuration/sendusing")=2 'Name or IP of remote SMTP server mymail.configuration.fields.item _ ("http://schemas.microsoft.com/cdo/configuration/smtpserver")="smtp.server. com" 'Server port mymail.configuration.fields.item _ ("http://schemas.microsoft.com/cdo/configuration/smtpserverport")=25 mymail.configuration.fields.update mymail.send set mymail=nothing ي فز انخادو Server Port mymail.configuratio.fields.ltem("http=//schemas.ms.com/cdo/congid/smtpser rerpost")=25 mymail. configuratio.fields.update mymail.send set mymail=nothing - 30 -
ASP ADO Accessing a Database from an ASP Page انىطىل إني لاػذة انبيا اث ي طفحاث الASP أداح أ ؽش ٠ مخ ا ز ث ب ٠ ز ا ط ي إ لبػذح ا ج ١ ب بد طفؾبد اال زش ذ )ASP( ا طشق ا شبئؼخ ؼ ١ خ ا ط ي :- إ شبء اسرجبؽ ث ١ لبػذح ا ج ١ ب بد طفؾخ اي ASP ثأعزخذا أداح. ADO 1. فزؼ لبػذح ا ج ١ ب بد Open the database connection.2 "Create an ADO recordset" إ شبء أداح ا شثؾ مبػذح ا ج ١ ب بد Recordset.3 فزؼ ا غذ ي ثبعزخذ ا ع ١ ؾ Open the recordset.4 إعزخالص ا ج ١ ب بد ا غذ ي ا ؼ Extract the data you need from the recordset.5 أػالق ساثؾ ا غذ يrecordset Close the 6. أغالق االرظبي ثمبػذح ا ج ١ ب بد Close the connection 7. ADO is a ب اي ADO إؽذ رم ١ بد ششوخ ب ٠ ىش ع فذ ADO is a Microsoft technology.1 اخزظبس ي ADO stands for ActiveX Data Objects.2 إؽذ ى بد ASP ثؾ ١ ش ٠ ز ػذاد ب ػ ذ إػذاد ايIIS 3. رؼزجش اع خ رطج ١ م ١ خ جش ب ظ ط ي إ ا ج ١ ب بد أ ا ؼ بد ف داخ لبػذح ا ج ١ ب بد 4. programming interface to access data in a database ADO Database Connection اتصال قاعدة البيانات باستخدام ال ADO أ شبء ارظبي ثأعزخذا Create a DSN-less DatabasConnection ػجبسح ػ أداح ع خ االعزخذا ٠ ى ث ب سثؾ لبػذح ث ١ ب بد ف ثش ب ظ Microsoft Access database ث لؼه ػ ا ٠ ت. - 31 -
فشػب ذ ٠ ب لبػذح ث ١ ب بد ثبع "northwind.mdb" ع د ف ا غبس "c:/webdata/" ٠ ى ا ط ي ب ثب ى د ا زب. set conn=server.createobject("adodb.connection") conn.provider="microsoft.jet.oledb.4.0" conn.open "c:/webdata/northwind.mdb" الؽع ا الثذ رؾذ ٠ ذ شغ مبػذح ا ج ١ ب بد (PROVIDER) غ رؾذ ٠ ذ ا غبس ا فؼ ا ز ر عذ ف ١ لبػذح ا ج ١ ب بد ف ع بص ا ى ج ١ رش كيفيت إ شاء لاػذة بيا اث راث احظال يخؼذد Create an ODBC Database Connection أل شبء لبػذح ث ١ ب بد ٠ ز ا ط ي أ ١ ب ثؼذد ا غزخذ ١ ف آ ا ؾظخ ٠ غت وزبثخ ا ى د ا زب : set conn=server.createobject("adodb.connection") conn.open "northwind" إ شاء ODBC في لاػذة انبيا اث to an MS Access Database))An ODBC Connection فزؼ ؽخ ا زؾى اخز ١ بس Administrative Tools ص اؽز ١ بس( ODBC ). Data Sources 1. اخز ١ بس ا بفزح System DSN.2 اخز ١ بس شغ لبػذح ا ج ١ ب بد (MS) ا ؼغؾ ػ. Finish 3. اخز ١ بس select زؾذ ٠ ذ لبػذح ا ج ١ ب بد. 4. إػطبء لبػذح ا ج ١ ب بد إع ظذس. DSN 5..6 ػغؾ ػ. OK The ADO Connection Object احظال لاػذة انبيا اث بىاسطت ADO ٠ ى خالي اي ADO ارظبي فزؼ لبػذح ا ج ١ ب بد إغالل ب و ب ٠ ى ث اعطز ا زؼذ ٠ ف لبػذح ا ج ١ ب بد. - 32 -
Recordset((Create an ADO Table إ شاء احظال باسخخذاو.Recordset ا ى إ شبء ارظبي غذ ي إرا ر إ شبء ارظبي مبػذح ا ج ١ ب بد. ٠ ى ا ط ي إ لبػذح ا ج ١ ب بد ا غبثمخ و ب ٠ ى ا ط ي إ عذ ي ا ؼ الء "Customers" ػ ؽش ٠ ك ا ى د ا زب. set conn=server.createobject("adodb.connection") conn.provider="microsoft.jet.oledb.4.0" conn.open "c:/webdata/northwind.mdb" set rs=server.createobject("adodb.recordset") rs.open "Customers", conn إ شاء ADO بأسخخذاو Recordset( )ADO SQL و ب أ ٠ ؼب ٠ ى ب ا ط ي إ عذ ي ا ؼ الء "Customers" ثأعزخذا SQL ف ا ى د ا زب. set conn=server.createobject("adodb.connection") conn.provider="microsoft.jet.oledb.4.0" conn.open "c:/webdata/northwind.mdb" set rs=server.createobject("adodb.recordset") rs.open "Select * from Customers", conn )Extract Data from the Recordset ( إسخخشاج انبيا اث ي اندذول ب Recordset ف فظ ا مبػذح ا غبثمخ ٠ ى ب ا ط ي إ عذ ي ا ؼ الء "Customers" ثأعزخذا ا ى د ا زب. - 33 -
set conn=server.createobject("adodb.connection") conn.provider="microsoft.jet.oledb.4.0" conn.open "c:/webdata/northwind.mdb" set rs=server.createobject("adodb.recordset") rs.open "Select * from Customers", conn for each x in rs.fields response.write(x.name) response.write(" = ") response.write(x.value) next عرض الADO (ADO Display) ػشع بيا اث خذاول لاػذة انبيا اث في خذول نغت HTML ف ١ ٠ ز ػشع ا ؾم ا م ١ خ ا مبث خ Display the Field Names and Field Values ر ه ثبإلػال ػ ا غذ ي ثؼذ ػ ١ خ االرظبي االسرجبؽ لبػذح ا ج ١ ب بد. ثأخز فظ لبػذح ا ج ١ ب بد ا غبثمخ ٠ ى ا ى د: <html> <body> set conn=server.createobject("adodb.connection") conn.provider="microsoft.jet.oledb.4.0" conn.open(server.mappath("/db/northwind.mdb")) set rs = Server.CreateObject("ADODB.recordset") rs.open "Select * from Customers", conn do until rs.eof for each x in rs.fields Response.Write(x.name) Response.Write(" = ") Response.Write(x.value & "<br />") next Response.Write("<br />") - 34 -
rs.movenext loop rs.close conn.close </body> </html> OUTPUT CustomerID = ALFKI CompanyName = Alfreds Futterkiste ContactName = Maria Anders Address = Obere Str. 57 City = Berlin PostalCode = 12209 Country = Germany CustomerID = BERGS CompanyName = Berglunds snabbköp ContactName = Christina Berglund Address = Berguvsvägen 8 City = Luleå PostalCode = S-958 22 Country = Sweden CustomerID = CENTC CompanyName = Centro comercial Moctezuma ContactName = Francisco Chang Address = Sierras de Granada 9993 City = México D.F. PostalCode = 05022 Country = Mexico - 35 -
وألظهاس أسى انحمم وأسى انمي ت في خذول الHTML يكى انكىد كاالحي: <html> <body> set conn=server.createobject("adodb.connection") conn.provider="microsoft.jet.oledb.4.0" conn.open(server.mappath("/db/northwind.mdb")) set rs = Server.CreateObject("ADODB.recordset") rs.open "SELECT Companyname, Contactname FROM Customers", conn <table border="1" width="100%"> do until rs.eof <tr> for each x in rs.fields <td>response.write(x.value)</td> next rs.movenext </tr> loop rs.close conn.close </table> </body> </html> - 36 -
OUTPUT إضافت ػ اوي ندذول الHTML فيظبح انكىد كاالحي : - 37 -
<html> <body> set conn=server.createobject("adodb.connection") conn.provider="microsoft.jet.oledb.4.0" conn.open(server.mappath("/db/northwind.mdb")) set rs = Server.CreateObject("ADODB.recordset") sql="select Companyname, Contactname FROM Customers" rs.open sql, conn <table border="1" width="100%"> <tr> for each x in rs.fields response.write("<th>" & x.name & "</th>") next </tr> do until rs.eof <tr> for each x in rs.fields <td>response.write(x.value)</td> next rs.movenext </tr> loop rs.close conn.close </table> </body> </html> - 38 -
OUTPUT - 39 -
ADO Queries ػشع بيا اث يحذدة Display Selected Data 1. ؾ ش ٠ ذ فمؾ ػشع عغالد عذ ي ا ؼ الء "Customers" ا ز ٠ ذ ٠ اع ا ششوخ. رجذأ ثؾشف ايA "Companyname" <html> <body> set conn=server.createobject("adodb.connection") conn.provider="microsoft.jet.oledb.4.0" conn.open(server.mappath("/db/northwind.mdb")) set rs = Server.CreateObject("ADODB.recordset") sql="select Companyname, Contactname FROM Customers WHERE CompanyName LIKE 'A%'" rs.open sql, conn <table border="1" width="100%"> <tr> for each x in rs.fields response.write("<th>" & x.name & "</th>") next </tr> do until rs.eof <tr> for each x in rs.fields <td>response.write(x.value)</td> next rs.movenext </tr> loop rs.close conn.close </table> </body> </html> OUTPUT - 40 -
2. ؾ ش ٠ ذ ػشع عغالد عذ ي ا ؼ الء "Customers" ا ز ٠ ذ ٠ اع ا ششوخ. E ٠ ى أوجش ؽشف "Companyname" <html> <body> set conn=server.createobject("adodb.connection") conn.provider="microsoft.jet.oledb.4.0" conn.open(server.mappath("/db/northwind.mdb")) set rs = Server.CreateObject("ADODB.recordset") sql="select Companyname, Contactname FROM Customers WHERE CompanyName>'E'" rs.open sql, conn <table border="1" width="100%"> <tr> for each x in rs.fields response.write("<th>" & x.name & "</th>") next </tr> do until rs.eof <tr> for each x in rs.fields <td>response.write(x.value) </td> next rs.movenext - 41 -
</tr> loop rs.close conn.close </table> </body> </html> 3. ػشع ػ الء اعجب ١ ب :- و ١ ف ١ خ ػشع ا ؼ الء ا ز ٠ ٠ ز إ د خ اعجب ١ ب عذ ي ا ؼ الء "Customers" ٠ ى ا ى د <html> <body> set conn=server.createobject("adodb.connection") conn.provider="microsoft.jet.oledb.4.0" - 42 -
conn.open(server.mappath("/db/northwind.mdb")) set rs = Server.CreateObject("ADODB.recordset") sql="select Companyname, Contactname FROM Customers WHERE Country='Spain'" rs.open sql, conn <table border="1" width="100%"> <tr> for each x in rs.fields response.write("<th>" & x.name & "</th>") next </tr> do until rs.eof <tr> for each x in rs.fields <td>response.write(x.value) </td> next rs.movenext </tr> loop rs.close conn.close </table> </body> </html> OUTPUT 4. ػغ ا غزخذ ٠ خزبس ا زظف ١ خ أ ا فشص ر ه ػ ؽش ٠ ك ا ج ذ ا ز ٠ ز إ ١ ب ا ؼ الء ا ز ٠ ٠ شغت ف ػشػ - 43 -
<html> <body> set conn=server.createobject("adodb.connection") conn.provider="microsoft.jet.oledb.4.0" conn.open(server.mappath("/db/northwind.mdb")) set rs=server.createobject("adodb.recordset") sql="select DISTINCT Country FROM Customers ORDER BY Country" rs.open sql,conn country=request.form("country") <form method="post"> Choose Country <select name="country"> do until rs.eof response.write("<option") if rs.fields("country")=country then response.write(" selected") end if response.write(">") response.write(rs.fields("country")) rs.movenext loop rs.close set rs=nothing </select> <input type="submit" value="show customers"> </form> if country<>"" then sql="select Companyname,Contactname,Country FROM Customers WHERE country='" & country & "'" set rs=server.createobject("adodb.recordset") rs.open sql,conn <table width="100%" cellspacing="0" cellpadding="2" border="1"> <tr> <th>companyname</th> <th>contactname</th> <th>country</th> </tr> - 44 -
do until rs.eof response.write("<tr>") response.write("<td>" & rs.fields("companyname") & "</td>") response.write("<td>" & rs.fields("contactname") & "</td>") response.write("<td>" & rs.fields("country") & "</td>") response.write("</tr>") rs.movenext loop rs.close conn.close set rs=nothing set conn=nothing </table> end if </body> </html> OUTPUT - 45 -
ADO Sort حشحيب انبيا اث Sort the Data 1. ؾ ش ٠ ذ ػشع ؽم "Companyname" "Contactname" عذ ي ا ؼ الء "Customers" ا ط ة : ا زشر ١ ت ؽغت ؽم "Companyname". رزوش أ رؾفع ا ف ثب زذاد.ASP ؽ ١ ش ٠ ى ا ى د وبالر : - 46 -
<html> <body> set conn=server.createobject("adodb.connection") conn.provider="microsoft.jet.oledb.4.0" conn.open(server.mappath("/db/northwind.mdb")) set rs = Server.CreateObject("ADODB.recordset") sql="select Companyname, Contactname FROM Customers ORDER BY CompanyName" rs.open sql, conn <table border="1" width="100%"> <tr> for each x in rs.fields response.write("<th>" & x.name & "</th>") next </tr> do until rs.eof <tr> for each x in rs.fields <td>response.write(x.value)</td> next rs.movenext </tr> loop rs.close conn.close </table> </body> </html> - 47 -
OUTPUT - 48 -
2. و ١ ف ١ خ فشص ا ج ١ ب بد ر بص ١ ب ثأع ا ؾم ا ؾذد ٠ ى ا ى د و ب ٠ : - 49 -
<html> <body> set conn=server.createobject("adodb.connection") conn.provider="microsoft.jet.oledb.4.0" conn.open(server.mappath("/db/northwind.mdb")) set rs = Server.CreateObject("ADODB.recordset") sql="select Companyname, Contactname FROM Customers ORDER BY CompanyName DESC" rs.open sql, conn <table border="1" width="100%"> <tr> for each x in rs.fields response.write("<th>" & x.name & "</th>") next </tr> do until rs.eof <tr> for each x in rs.fields <td>response.write(x.value) </td> next rs.movenext </tr> loop rs.close conn.close </table> </body> </html> - 50 -
OUTPUT 3. ػغ ا غزخذ ٠ خزبسا ؼ د ا ز ٠ ش ٠ ذ رشر ١ ج. - 51 -
<html> <body> <table border="1" width="100%" bgcolor="#fff5ee"> <tr> <th align="left" bgcolor="#b0c4de"> <a href="demo_sort_3.asp?sort=companyname">company</a> </th> <th align="left" bgcolor="#b0c4de"> <a href="demo_sort_3.asp?sort=contactname">contact</a> </th> </tr> if request.querystring("sort")<>"" then sort=request.querystring("sort") else sort="companyname" end if set conn=server.createobject("adodb.connection") conn.provider="microsoft.jet.oledb.4.0" conn.open(server.mappath("/db/northwind.mdb")) set rs=server.createobject("adodb.recordset") sql="select Companyname,Contactname FROM Customers ORDER BY " & sort rs.open sql,conn do until rs.eof response.write("<tr>") for each x in rs.fields response.write("<td>" & x.value & "</td>") next rs.movenext response.write("</tr>") loop rs.close conn.close </table> </body> </html> - 52 -
OUTPUT - 53 -
إضافة سجلRecords ADO Add إػبفخ عغ غذ ي ف لبػذح ا ج ١ ب بد Add a Record to a Table in a Database إرا اسد ب إػبفخ عغ عذ ٠ ذ غذ ي ا ؼ ال ء "Customers" ف لبػذح ا ج ١ ب بد ا غبثمخ "Northwind" ػ ١ ب أ ال : إ شبء رط ٠ ؾز ػ ع ١ غ ث ١ ب بد ا ؾم.ؽ ١ ش ٠ ى ا ى د <html> <body> <form method="post" action="demo_add.asp"> <table> <tr> <td>customerid:</td> <td><input name="custid"></td> </tr><tr> <td>company Name:</td> <td><input name="compname"></td> </tr><tr> <td>contact Name:</td> <td><input name="contname"></td> </tr><tr> <td>address:</td> <td><input name="address"></td> </tr><tr> <td>city:</td> <td><input name="city"></td> </tr><tr> <td>postal Code:</td> <td><input name="postcode"></td> </tr><tr> <td>country:</td> <td><input name="country"></td> </tr> </table> <br /><br /> <input type="submit" value="add New"> <input type="reset" value="cancel"> </form> </body> </html> ػ ذ ب ٠ ؼغؾ ا غزخذ ػ صس االسعبي ٠ شع submit ا رط إ ف ٠ ذػ " demo_add.asp " زا ا ف ٠ ؾز ػ و د ٠ م زا ا ى د ثئػبفخ عغ عذ ٠ ذ إ عذ ي ا ؼ الء Customers )ا غذ ي ا ؾذد ف و د ا شثؾ(! ؽ ١ ت و ١ ف ٠ ى زا ا ى د عؤاي ع ١ ىزا ٠ ى ا ى د : - 54 -
<html> <body> set conn=server.createobject("adodb.connection") conn.provider="microsoft.jet.oledb.4.0" conn.open "c:/webdata/northwind.mdb" sql="insert INTO customers (customerid,companyname," sql=sql & "contactname,address,city,postalcode,country)" sql=sql & " VALUES " sql=sql & "('" & Request.Form("custid") & "'," sql=sql & "'" & Request.Form("compname") & "'," sql=sql & "'" & Request.Form("contname") & "'," sql=sql & "'" & Request.Form("address") & "'," sql=sql & "'" & Request.Form("city") & "'," sql=sql & "'" & Request.Form("postcode") & "'," sql=sql & "'" & Request.Form("country") & "')" on error resume next conn.execute sql,recaffected if err<>0 then Response.Write("No update permissions!") else Response.Write("<h3>" & recaffected & " record added</h3>") end if conn.close </body> </html> يهى Important إرا و ذ رغزخذ ٠ جغ SQL INSERT ػ ١ ه ا ؼ ث ب ٠ :- إرا وب ا غذ ي ٠ ؾز ػ فزبػ أعبع رأوذ إدخبي ل ١ خ فش ٠ ذح ػ ب ػذ رشو خب ١ ب " NULL " ( أ ٠ ز ر ه ٠ ؼبف ا غغ أ ٠ ؾذس خطأ (. إرا وب ا غذ ي ٠ ؾز ػ ؽم رشل ١ رغ غ,ػذ رؼ ١ زا ا ؾم ف اال شINSERT ( SQL ال رز ر ١ ذ ل ١ ر مبئ ١ ب (..1.2 يالحظت : ١ ظ و ل اػذ ا ج ١ ب بد رذػ عالع راد ؽ ي طفش ٠ ى أ ٠ زغجت خطأ ػ ذ إػبفخ عغ. ا أ رؾمك ب أ اع ا ج ١ ب بد لبػذح ا ج ١ ب بد ا خبطخ ثه. ADO Update Records - 55 -
ححذيذ انسدم في اندذول Update a Record in a Table أسد ب رؾذ ٠ ش عغ ف ا غذ ي ا ؼ الء table" "Customers ف لبػذح ث ١ ب بد". Northwind " ػ ١ ب أ ال إ شبء ا غذ ي ا ز ٠ ذسط ع ١ غ ا غغالد ف عذ ي ا ؼ الء: <html> <body> set conn=server.createobject("adodb.connection") conn.provider="microsoft.jet.oledb.4.0" conn.open "c:/webdata/northwind.mdb" set rs=server.createobject("adodb.recordset") rs.open "SELECT * FROM customers",conn <h2>list Database</h2> <table border="1" width="100%"> <tr> for each x in rs.fields response.write("<th>" & ucase(x.name) & "</th>") next </tr> do until rs.eof <tr> <form method="post" action="demo_update.asp"> for each x in rs.fields if lcase(x.name)="customerid" then <td> <input type="submit" name="customerid" value="=x.value"> </td> else <td>response.write(x.value)</td> end if next </form> rs.movenext </tr> - 56 -
loop conn.close </table> </body> </html> إرا ا غزخذ مش ػ ا ضس ف ػ د "customerid" ع ف ٠ أخز ف عذ ٠ ذ ٠ ذػ "demo_update.asp" " ٠"demo_update.aspؾز ػ شفشح ا ظذس و ١ ف ١ خ إ شبء ؽم ي إدخبي ث بءا ػ ؽم ي عغ اؽذ ع د ف عذ ي لبػذح ا ج ١ ب بد. و ب أ ٠ ؾز ػ عغ رؾذ ٠ ش record" ٠ "Updateم ٠ ؾفع رؼذ ٠ الره. <html> <body> <h2>update Record</h2> set conn=server.createobject("adodb.connection") conn.provider="microsoft.jet.oledb.4.0" conn.open "c:/webdata/northwind.mdb" cid=request.form("customerid") if Request.form("companyname")="" then set rs=server.createobject("adodb.recordset") rs.open "SELECT * FROM customers WHERE customerid='" & cid & "'",conn <form method="post" action="demo_update.asp"> <table> for each x in rs.fields <tr> <td>=x.name</td> <td><input name="=x.name" value="=x.value"></td> next </tr> </table> <br /><br /> <input type="submit" value="update record"> </form> else sql="update customers SET " sql=sql & "companyname='" & Request.Form("companyname") & "'," sql=sql & "contactname='" & Request.Form("contactname") & "'," sql=sql & "address='" & Request.Form("address") & "'," sql=sql & "city='" & Request.Form("city") & "'," sql=sql & "postalcode='" & Request.Form("postalcode") & "'," sql=sql & "country='" & Request.Form("country") & "'" sql=sql & " WHERE customerid='" & cid & "'" on error resume next - 57 -
conn.execute sql if err<>0 then response.write("no update permissions!") else response.write("record " & cid & " was updated!") end if end if conn.close </body> </html> ADO Delete Records حزف سدم في اندذول Delete a Record in a Table ش ٠ ذ أ ؾزف عغ ف عذ ي ا ؼ الء Customers table ف لبػذح ث ١ ب بد Northwind. ػ ١ ب أ ال إ شبء ا غذ ي ا ز ٠ ذسط ع ١ غ ا غغالد ف عذ ي ا ؼ الء: <html> <body> set conn=server.createobject("adodb.connection") conn.provider="microsoft.jet.oledb.4.0" conn.open "c:/webdata/northwind.mdb" set rs=server.createobject("adodb.recordset") rs.open "SELECT * FROM customers",conn <h2>list Database</h2> <table border="1" width="100%"> <tr> for each x in rs.fields response.write("<th>" & ucase(x.name) & "</th>") next </tr> do until rs.eof - 58 -
<tr> <form method="post" action="demo_delete.asp"> for each x in rs.fields if x.name="customerid" then <td> <input type="submit" name="customerid" value="=x.value"> </td> else <td>response.write(x.value)</td> end if next </form> rs.movenext </tr> loop conn.close </table> </body> </html> إرا ا غزخذ لب ثب مش ػ ا ضس ف ػ د "customerid" ع ف ٠ أخز ف عذ ٠ ذ ٠ ذػ " demo_ delete.asp " زا ا ف delete.asp" _ ٠"demoؾز ػ شفشح ا ظذس و ١ ف ١ خ إ شبء ؽم ي إدخبي ث بءا ػ ؽم ي عغ اؽذ ع د ف عذ ي لبػذح ا ج ١ ب بد. و ب أ ٠ ؾز ػ عغ ا غؼ " delete record "ا ضس ا ز ع ١ ؤد إ ؽزف ا غغ ا ؾب. <html> <body> <h2>delete Record</h2> set conn=server.createobject("adodb.connection") conn.provider="microsoft.jet.oledb.4.0" conn.open "c:/webdata/northwind.mdb" cid=request.form("customerid") if Request.form("companyname")="" then set rs=server.createobject("adodb.recordset") rs.open "SELECT * FROM customers WHERE customerid='" & cid & "'",conn <form method="post" action="demo_delete.asp"> <table> for each x in rs.fields <tr> <td>=x.name</td> - 59 -
<td><input name="=x.name" value="=x.value"></td> next </tr> </table> <br /><br /> <input type="submit" value="delete record"> </form> else sql="delete FROM customers" sql=sql & " WHERE customerid='" & cid & "'" on error resume next conn.execute sql if err<>0 then response.write("no update permissions!") else response.write("record " & cid & " was deleted!") end if end if conn.close </body> </html> إيضاحاتDemonstration ADO لشاءة هزا أوال إرا ؽب ذ رؾذ ٠ ش لبػذح ا ج ١ ب بد فغ ف رؾظ ػ سعب خ ا خطأ : "ال ٠ عذ ذ ٠ ه اإلر ثزؾذ ٠ ش لبػذح ا ج ١ ب بد ز ". ٠ ى ه ا ؾظ ي ػ زا ا خطأ أل ١ ظ ذ ٠ ه ؽك ا ط ي إ خبد ب. ى إرا ل ذ ث غخ و د رشغ ١ ػ ا ظب ا خبص ثه لذ رؾظ ػ فظ ا خطأ. ر ه أل زا ا ظب سث ب إػزجشن و غزخذ ا زش ذ غ ي ػ ذ ا ط ي إ ا فبد ػ ؽش ٠ ك ا زظفؼ. ف ز ا ؾب خ ٠ ى ه رغ ١١ ش ؽم ق ا ط ي ط ي إ ا ف. كيفيت حغييش حمىق انىطىل نماػذة بيا اث Access انخاطت بك فزؼ غزؼشع اي (Internet Explorer) Windows ا ؼض س ػ ف.mdb ف ف.mdb ؽذد ل رؾذ ٠ ذ ؽم ق rights ص ا مش ثب ضس اال ٠. ا زم إ ا زج ٠ ت أ بtab Security خظبئض Properties ADO Speed Up With GetString() Multiple Response.Write's ا ضبي ا زب ٠ ػؼ ؽش ٠ مخ و ١ ف ١ خ ػشع اعزؼال لبػذح ا ج ١ ب بد ف عذ ي : HTML. - 60 -
<html> <body> set conn=server.createobject("adodb.connection") conn.provider="microsoft.jet.oledb.4.0" conn.open "c:/webdata/northwind.mdb" set rs = Server.CreateObject("ADODB.recordset") rs.open "SELECT Companyname, Contactname FROM Customers", conn <table border="1" width="100%"> do until rs.eof <tr> <td>response.write(rs.fields("companyname"))</td> <td>response.write(rs.fields("contactname"))</td> </tr> rs.movenext loop </table> rs.close conn.close set rs = Nothing set conn = Nothing </body> </html> إعزؼال ض زا ٠ ى أ ٠ جطئ لذ ا ؼب غخ ا ظ ١ خ script processing إر الثذ ؼب غخ ا ؼذ ٠ ذ األ ا شResponse.Write لج ا م أ ا خبد. ا ؾ أ ر شئ ع غ خ وب خ إثزذا <table> إ </table> إخشاط Response.Write شح اؽذح فمؾ ر ه ثئعزخذا. طشيمت الMethod The GetString() زح ا طش ٠ مخ GetString() رغ ؼ ثؼشع ع غ خ غ ػجبسح Response.Write اؽذح فمؾ! ا ززؾمك أ ايrecordset ف اي EOF انظيغت: str = rs.getstring(format,rows,coldel,rowdel,nullexpr) - 61 -
إل شبء عذ ي HTML غ ا ج ١ ب بد ا غغالد" Recordset " ؾ ثؾبعخ فمؾ العزخذا صالس ا ؼب الد أػال (ع ١ غ ا ؼب الد اخز ١ بس ٠ خ ( HTML العزخذا coldel وفبط ػ د HTML العزخذا rowdel وفبط ا ظف NULL إرا وب ا ؼ د ٠ ؾز ػ HTML العزخذا nullexpr الؽظخ () GetString : ؽش ٠ مخ ١ ضح ADO. ٠ ى ه 2.0 رؾ ١ ADO 2.0 ػ ا شاثؾ ا زب :.http://www.microsoft.com/data/download.htm <html> <body> set conn=server.createobject("adodb.connection") conn.provider="microsoft.jet.oledb.4.0" conn.open(server.mappath("/db/northwind.mdb")) set rs = Server.CreateObject("ADODB.recordset") rs.open "SELECT Companyname, Contactname FROM Customers", conn str=rs.getstring(,,"</td><td>","</td></tr><tr><td>"," ") <table border="1" width="100%"> <tr> <td>response.write(str)</td> </tr> </table> rs.close conn.close set rs = Nothing set conn = Nothing - 62 -