intTypePromotion=1
zunia.vn Tuyển sinh 2024 dành cho Gen-Z zunia.vn zunia.vn
ADSENSE

Đại Cương Về Thiết Kế Web Và Lập Trình Web- P23

Chia sẻ: Cong Thanh | Ngày: | Loại File: PDF | Số trang:5

93
lượt xem
48
download
 
  Download Vui lòng tải xuống để xem tài liệu đầy đủ

Đại Cương Về Thiết Kế Web Và Lập Trình Web- P23: Giáo trình bao gồm 5 chương, mỗi chương đều có phần kiến thức lý thuyết và câu hỏi nghiên cứu cụ thể...

Chủ đề:
Lưu

Nội dung Text: Đại Cương Về Thiết Kế Web Và Lập Trình Web- P23

  1. http://www.ebook.edu.vn 111 5.3 M« h×nh ®èi t−îng ADO 5.3.1 §èi t−îng kÕt nèi (Connection) Cho phÐp thùc hiÖn viÖc më kÕt nèi ®Õn nguån d÷ liÖu cÇn truy xuÊt. Th«ng qua Connection chØ cÇn chØ ®Þnh tr×nh cung cÊp OLEDB Provider sÏ dïng ®Ó tiÕp cËn d÷ liÖu. C¸c th«ng tin kÕt nèi bæ sung kh¸c nh− username, password, server name,.. th−êng ®−îc l−u vµo mét chuçi gäi lµ chuçi kÕt nèi (Connection String). Chó ý: Cã thÓ kÕt nèi vµ truy xuÊt vµo nguån d÷ liÖu mµ kh«ng b¾t buéc ph¶i dïng ®èi t−îng Connection. C¸ ®èi t−îng kh¸c nh− Command, RecordSet, Record,... còng cho phÐp më trùc tiÕp kÕt nèi. Tuy nhiªn sö dông ®èi t−îng Connection sÏ cho phÐp b¹n t¸ch biÖt thao t¸c kÕt nèi vµ thao t¸c truy cËp c¬ së d÷ liÖu. H¬n n÷a ®èi t−îng Connection cßn cung cÊp thªm mét sè chøc n¨ng chuyªn dông kh¸c nh− cho phÐp thùc thi c©u lÖnh SQL t¸c ®éng vµo d÷ liÖu nh− Insert, Update, Delete, gäi thñ tôc Procedure Store,... hoÆc kiÓm so¸t giao t¸c transaction nh− Rollback, commit. 5.3.2 §èi t−îng Command: §èi t−îng nµy dïng cho môc ®Ých thùc thi c©u lÖnh tèt h¬n Connection. Cho phÐp b¹n chuyÓn tham sè vµo c¸c lÖnh thùc thi SQL. Tham sè cã thÓ chØ ®Þnh kiÓu hoÆc gi¸ trÞ t−êng minh. C¸c tham sè cã thÓ nhËn trÞ tr¶ vÒ sau khi thùc thi..Command cã thÓ dïng cho c¶ 2 môc ®Ých: thùc thi c©u lÖnh SQL kh«ng cÇn nhËn kÕt qu¶ tr¶ vÒ nh− Insert, Update, Delete, Procedure Store, hoÆc thùc thi c¸c lÖnh tr¶ vÒ tËp RecordSet nh− lÖnh Select. 5.3.3 §èi t−îng RecordSet: Lµ ®èi t−îng sö dông th−êng xuyªn trong ADO. Cung cÊp kÕt qu¶ tr¶ vÒ tõ c©u lÖnh truy vÊn mét tËp c¸c b¶n ghi. Trang ASP cã thÓ dïng vßng lÆp ®Ó duyÖt qua c¸c b¶n ghi nµy vµ hiÓn thÞ d÷ liÖu kÕt xuÊt ra trang Web phÝa tr×nh duyÖt. Ngoµi ra RecordSet cßn cho phÐp thùc hiÖn läc d÷ liÖu tõ tËp c¸c b¶n ghi, truy xuÊt ®Õn tong tr−êng cô thÓ cña b¶n ghi th«ng qua ®èi t−îng Field hoÆc danh s¸ch c¸c tr−êng trong b¶n ghi th«ng qua ®èi t−îng Fields 5.4 KÕt nèi víi nguån d÷ liÖu Chuçi kÕt nèi ®−îc dïng ®Ó cung cÊp th«ng tin cho ®èi t−îng Connection biÕt ®Æc ®iÓm cña c¬ së hay nguån d÷ liÖu mµ ADO cÇn truy xuÊt. 5.4.1 T¹o mét ODBC DSN Tr−íc khi t¹o c¸c Script truy xuÊt c¬ së d÷ liÖu (CSDL), ta cÇn chØ dÉn cho ADO x¸c ®Þnh nguån d÷ liÖu cÇn truy xuÊt vµ c¸ch thøc liªn kÕt CSDL. Phæ biÕn vµ ®¬n gi¶n nhÊt ®ã lµ sö dông tªn nguån d÷ liÖu (Data Source Name-DSN) ®Ó ®Þnh vÞ vµ cÊu h×nh nguån d÷ liÖu t−ong thÝch chuÈn ODBC. Víi ODBC b¹n cã thÓ lùa chän c¸c kiÓu DNS ®Ó t¹o, ®ã lµ: User, System hoÆc File. C¸c DNS User vµ System th−êng tró trong registry cña hÖ ®iÒu hµnh WindowsNT. System DNS cho phÐp tÊt c¶ ng−êi sö dông truy nhËp vµo Server ®ã ®Òu cã thÓ truy xuÊt mét CSDL, trong khi ®ã User DNS h¹n chÕ ®èi víi mçi ng−êi sö dông ®¨ng nhËp vµo Server; File DSN sÏ l−u th«ng tin d−íi d¹ng file cho phÐp nhiÒu ng−êi sö dông truy xuÊt CSDL vµ dÔ dµng chuyÓn tõ Server nµy sang Server kh¸c chØ b»ng viÖc copy c¸c tÖp DSN. Chóng ta cã thÓ t¹o ra DSN b»ng c¸ch: • Vµo trong Start\Control Panel, click chuét vµo biÓu t−îng ODBC, chän
  2. http://www.ebook.edu.vn 112 mét d¹ng DSN. • Click Add, chän mét tr×nh ®iÒu khiÓn d÷ liÖu(.MDB, SQL) • Theo c¸c chØ dÉn trªn mµn h×nh ®Ó cÊu h×nh DSN cho CSDL Sau ®©y lµ mét sè kÕt nèi ®Õn c¸c lo¹i CSDL th«ng dông: 5.4.2 C¬ së d÷ liÖu MS Access connStr=“Provider=Microsoft.JetOLEDB.4.0; Data Source = C:\Program Files\Microsoft Visual Studio\VB98\BIBLIO.MDB; Persist Security Info=False” set conn=Server.CreateObject(“ADODB.Connection”) conn.open connStr 5.4.3 C¬ së d÷ liÖu MS Access th«ng qua tr×nh ®iÒu khiÓn ODBC connStr=“Driver=Microsoft Access Driver (*.mdb); DBQ=C:\ Program Files\Microsoft Visual Studio\VB98\BIBLIO.MDB;” set conn=Server.CreateObject(“ADODB.Connection”) conn.open connStr 5.4.4 C¬ së d÷ liÖu MS SQL Server connStr=“Provider=SQLOLEDB.1;Persist Security Info=False; User ID=sa;Initial Catalog=AdvWorks;Data Source=localhost” set conn=Server.CreateObject(“ADODB.Connection”) conn.open connStr NÕu nguån d÷ liÖu hç trî OLEDB ta cã thÓ sö dông ADO th«ng qua ODBC theo c¸ch tæng qu¸t: connStr="Provider=MSDASQL.1;Persist Security Info=False; Data Source=Test" set conn=Server.CreateObject(“ADODB.Connection”) conn.open connStr Trong ®ã Test lµ DataSource thiÕt lËp trong System DNS cña ODBC 5.5 Sö dông ®èi t−îng RecordSet 5.5.1 T¹o RecordSet: set rs=Server.CreateObject(“ADODB.RecordSet”) §Ó trÝch rót d÷ liÖu tõ mét hoÆc nhiÒu b¶ng nµo ®ã trong c¬ së d÷ liÖu, ta th−êng kÕt hîp ®èi t−îng Connection vµo c©u lÖnh SQL Select trong ph−¬ng thøc Open cña RecordSet: rs.open SQLCommand, Conn 5.5.2 DuyÖt qua c¸c b¶n ghi vµ truy xuÊt c¸c tr−êng cña b¶n ghi: Do While not rs.eof Rs.fields](“field_name”) rs.movenext : di chuyÓn con trá cña RecordSet ®Õn b¶n ghi kÕ tiÕp loop rs.close
  3. http://www.ebook.edu.vn 113 C¸c c¸ch truy cËp hîp lÖ vµ t−¬ng ®−¬ng: Rs(“field_name”) Rs.fields(“field_name”) Rs.fields(“field_name”).value Rs(1).value Rs.fields(1).Value NÕu muèn duyÖt qua tÊt c¶ c¸c tr−êng trong b¶n ghi cã thÓ dïng lÖnh: For each Fld in rs.fields Response.write fld.name + “:” + fld.value + “” Next 5.5.3 Läc qua c¸c b¶n ghi trong RecordSet Cã thÓ sö dông mÖnh ®Ò Where cña c©u lÖnh Select hoÆc cã thÓ sö dông thuéc tÝnh Filter cña RecordSet ®Ó chØ ®Þnh ®iÒu kiÖn läc sau khi ®· trÝch xuÊt d÷ liÖu. VÝ dô: sqlStr=”Select * from Products” rs.open sqlStr,conn rs.filter= “ productCode=‘” & SpecialCode & “’” Thuéc tÝnh Filter cho phÐp sö dông mÖnh ®Ò läc gÇn gièng víi mÖnh ®Ò Where 5.5.4 Ph©n trang víi ®èi t−îng RecordSet: §èi t−îng RecordSet cung cÊp 3 thuéc tÝnh quan träng sau ®Ó sö dông ph©n trang: PageSize: KÝch th−íc b¶n ghi trong mét trang PageCount: Tæng sè trang RecordSet truy vÊn ®−îc AbsolutePage: ChØ ®Þnh trang hiÖn hµnh ®ang cÇn ®−îc ®äc §Ó RecordSet cã kh¶ n¨ng ph©n trang, cÇn thiÕt lËp thªm tham sè cho RecordSet tr−íc khi thùc hiÖn truy vÊn: Rs.CursorLocation=3 ‘ Cã thÓ sö dông h»ng adUseClient Rs.PageSize=15 ‘ 15 b¶n ghi trong mét trang TiÕt theo më ®èi t−îng RecordSet truy vÊn d÷ liÖu víi tuú chän lµ c¸c h»ng adOpenForwardOnly(0), adLockReadOnly (1) truy cho ph−¬ng thøc Open nh− sau: Rs.open sqlStr, Conn, 0,1 C«ng viÖc sau cïng lµ ®Þnh vÞ trang th«ng qua thuéc tÝnh AbsolutePage. Ta l−u l¹i vÞ trÝ hiÖn hµnh cña trang d÷ liÖu th«ng qua gi¸ trÞ chøa trong thÎ . Gi¸ trÞ nµy sÏ ®−îc chuyÓn vÒ tr×nh chñ mçi khi ng−êi dïng kÝch vµo. XÐt vÝ dô sau:
  4. http://www.ebook.edu.vn 114 lCurrentPage = 1 End If rs.CursorLocation = 3 rs.PageSize = 15 rs.Open sqlStr, conn, 0, 1 'Const adOpenForwardOnly=0, adLockReadOnly = 1 lPageCount = rs.PageCount If lCurrentPage > lPageCount Then lCurrentPage = lPageCount End If if not rs.eof then rs.AbsolutePage = lCurrentPage end if call ShowPageNavigation(lCurrentPage,lPageCount) Do While rs.AbsolutePage = lCurrentPage And Not rs.Eof Response.write rs("ProductName") rs.movenext loop %> Previous Previous Next Next Page function setValue(page){
  5. http://www.ebook.edu.vn 115 viewFrm.page.value= page; viewFrm.submit(); } 5.6 HiÖu chØnh c¸c b¶n ghi 5.6.1 HiÖu chØnh c¸c b¶n ghi dùa vµo RecordSet: Thªm míi b¶n ghi: §Ó thªm míi vµo b¶ng d÷ liÖu qu¶n lý bëi ph−¬ng thøc RecordSet sö dông ph−¬ng thøc AddNew sqlStr=”Select * From Accounts” rs.open sqlStr,Conn ‘ Thªm tμi kho¶n míi vμo b¶ng Accounts rs.Addnew ‘g¸n gi¸ trÞ cho b¶n ghi with rs .fields(“username”)= ‘New User’ .fields(“password”)=’***’ end with ‘l−u l¹i rs.update ‘ChØnh söa néi dung trong b¶n ghi hiÖn hμnh: sqlStr=”Select * From Accounts” rs.open sqlStr,Conn with rs .fields(“password”)=’newpassword’ end with ‘l−u l¹i rs.update ‘Xo¸ b¶n ghi hiÖn hμnh: sqlStr=”Select * From Accounts where username= ‘” &mkuser &”’” rs.open sqlStr,Conn rs.delete 5.6.2 HiÖu chØnh c¸c b¶n ghi b»ng c©u lÖnh SQL víi ®èi t−îng connection sqlStr=”delete * from Accounts where username= ‘” &mkuser &”’” Conn.execute sqlStr 5.7 Sö dông ®èi t−îng Command 5.7.1 T¹o ®èi t−îng Command: set cmdUpdate=Server.CreateObject(“ADODB.Command”) 5.7.2 Sö dông ®èi t−îng Command: sqlUpdate=“update accounts set password = ‘abc’ where username=”‘” & username & “’”
ADSENSE

CÓ THỂ BẠN MUỐN DOWNLOAD

 

Đồng bộ tài khoản
5=>2