บทช่วยสอน ASP

ASP HOME

กวดวิชา WP

แนะนำหน้าเว็บ มีดโกนหน้าเว็บ เค้าโครงหน้าเว็บ โฟลเดอร์หน้าเว็บ หน้าเว็บทั่วโลก แบบฟอร์มหน้าเว็บ วัตถุหน้าเว็บ ไฟล์หน้าเว็บ ฐานข้อมูลหน้าเว็บ ผู้ช่วยหน้าเว็บ หน้าเว็บ WebGrid แผนภูมิหน้าเว็บ อีเมลหน้าเว็บ ความปลอดภัยของหน้าเว็บ เผยแพร่หน้าเว็บ ตัวอย่างหน้าเว็บ ชั้นเรียนของหน้าเว็บ

มีดโกน ASP.NET

แนะนำมีดโกน มีดโกนไวยากรณ์ มีดโกน C# ตัวแปร มีดโกน C# ลูป มีดโกน C# Logic ตัวแปรมีดโกน VB มีดโกน VB Loops มีดโกน VB Logic

ASP Classic

แนะนำ ASP ไวยากรณ์ ASP ตัวแปร ASP ขั้นตอน ASP เงื่อนไข ASP ASP วนรอบ แบบฟอร์ม ASP คุกกี้ ASP เซสชัน ASP แอปพลิเคชัน ASP ASP #รวม ASP Global.asa ASP AJAX อีเมล ASP ตัวอย่าง ASP

การอ้างอิง ASP

ฟังก์ชัน ASP VB คีย์เวิร์ด ASP VB การตอบสนอง ASP คำขอ ASP แอปพลิเคชัน ASP เซสชัน ASP เซิร์ฟเวอร์ ASP ข้อผิดพลาด ASP ASP FileSystem ASP TextStream ไดรฟ์ ASP ไฟล์ ASP โฟลเดอร์ ASP พจนานุกรม ASP ASP AdRotator ASP BrowserCap การเชื่อมโยงเนื้อหา ASP ตัวหมุนเนื้อหา ASP ASP Quick Ref

กวดวิชา ADO

แนะนำ ADO ADO Connect ชุดระเบียน ADO จอแสดงผล ADO แบบสอบถาม ADO ADO Sort เพิ่ม ADO ADO Update ADO ลบ สาธิต ADO ADO เร่งความเร็ว

วัตถุ ADO

คำสั่ง ADO การเชื่อมต่อ ADO ข้อผิดพลาด ADO ADO Field พารามิเตอร์ ADO ADO พร็อพเพอร์ตี้ บันทึก ADO ชุดระเบียน ADO ADO สตรีม ประเภทข้อมูล ADO

ADO เร่งความเร็วด้วย GetString()


ใช้วิธี GetString() เพื่อเพิ่มความเร็วสคริปต์ ASP ของคุณ (แทนที่จะใช้ Response.Write หลายรายการ)


ตอบกลับหลายรายการเขียน

ตัวอย่างต่อไปนี้แสดงให้เห็นวิธีหนึ่งในการแสดงแบบสอบถามฐานข้อมูลในตาราง HTML:

<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>

สำหรับเคียวรีขนาดใหญ่ อาจทำให้เวลาในการประมวลผลสคริปต์ช้าลง เนื่องจากเซิร์ฟเวอร์ต้องประมวลผลคำสั่ง Response.Write จำนวนมาก

วิธีแก้ไขคือสร้างสตริงทั้งหมดจาก <table> ถึง </table> แล้วส่งออกโดยใช้ Response.Write เพียงครั้งเดียว



วิธีการ GetString()

เมธอด GetString() อนุญาตให้คุณแสดงสตริงด้วย Response.Write เดียวเท่านั้น นอกจากนี้ยังกำจัด do...loop code และการทดสอบแบบมีเงื่อนไขที่ตรวจสอบว่าชุดระเบียนอยู่ที่ EOF หรือไม่

ไวยากรณ์

str = rs.GetString(format,rows,coldel,rowdel,nullexpr)

ในการสร้างตาราง HTML ด้วยข้อมูลจากชุดระเบียน เราจำเป็นต้องใช้พารามิเตอร์สามตัวข้างต้นเท่านั้น (พารามิเตอร์ทั้งหมดเป็นทางเลือก):

  • coldel - HTML เพื่อใช้เป็นตัวคั่นคอลัมน์
  • rowdel - HTML ที่จะใช้เป็นตัวคั่นแถว
  • nullexpr - HTML ที่จะใช้หากคอลัมน์เป็น NULL

หมายเหตุ:เมธอด GetString() เป็นคุณลักษณะ ADO 2.0 คุณสามารถดาวน์โหลด ADO 2.0 ได้ ที่https://www.microsoft.com/data/download.htm

ในตัวอย่างต่อไปนี้ เราจะใช้เมธอด GetString() เพื่อเก็บชุดระเบียนเป็นสตริง:

ตัวอย่าง

<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

str=rs.GetString(,,"</td><td>","</td></tr><tr><td>","&nbsp;")
%>

<table border="1" width="100%">
  <tr>
    <td><%Response.Write(str)%></td>
  </tr>
</table>

<%
rs.close
conn.close
set rs = Nothing
set conn = Nothing
%>
</body>
</html>

ตัวแปร str ด้านบนมีสตริงของคอลัมน์และแถวทั้งหมดที่ส่งคืนโดยคำสั่ง SQL SELECT ระหว่างแต่ละคอลัมน์ HTML </td><td> จะปรากฏขึ้น และระหว่างแต่ละแถว HTML </td></tr><tr><td> จะปรากฏขึ้น สิ่งนี้จะสร้าง HTML ที่เราต้องการด้วย Response.Write เดียวเท่านั้น