<!-- #include file="file\adovbs.inc" -->
<%' Get the Product ID
pcID = TRIM( Request( "pid" ) )
' Open the Database Connection
openStr="driver={Microsoft Access Driver (*.mdb)}; dbq=" & Server.MapPath("db\Addlst.mdb")
Set Cnn1=Server.CreateObject("ADODB.Connection")
Cnn1.Open openStr,"",""
' Get the Product Informatinon
sqlString = "SELECT * FROM Added WHERE Place='"&Request.QueryString("pID")&"'"
Set rRS = Server.CreateObject( "ADODB.Recordset" )
rRS.ActiveConnection = Cnn1
rRS.Open sqlString
' Get Current Category
If not Rs.eof then
cat = rRS( "Place" )%>
------------
<td><% IF rRS( "Image" ) <> "?????" THEN %>
<img src="images\<%=rRS( "Image" )%>" BORDER="0" ALIGN="MIDDLE" WIDTH="130" HEIGHT="90" HSPACE="10">
<% END IF %>
<p><font size="3" face="Arial">
<b><%=rRS( "PlaceName" )%></b></font>
<b><%=rRS( "City" )%></b>
<p><%=rRS( "Description" )%>
</td>
<!-- #include file="file\adovbs.inc" -->
<%' Get the Product ID
pcID = TRIM( Request( "pid" ) )
' Open the Database Connection
openStr="driver={Microsoft Access Driver (*.mdb)}; dbq=" & Server.MapPath("db\Addlst.mdb")
Set Cnn1=Server.CreateObject("ADODB.Connection")
Cnn1.Open openStr,"",""
' Get the Product Informatinon
sqlString = "SELECT * FROM Added WHERE Place= '"&Request.QueryString("pID")&"'" 'บรรทัดนี้น่ะถูกต้องแล้วคร้าบ
Set rRS = Server.CreateObject( "ADODB.Recordset" )
rRS.ActiveConnection = Cnn1
rRS.Open sqlString
' Get Current Category
If not Rs.eof then '===================เริ่มต้น Block เงื่อนไข สมมติว่าเป็นเงื่อนไข A
cat = rRS( "Place" )%>
------------
<td><% IF rRS( "Image" ) <> "?????" THEN %>'==============มีเงื่อนไขซ้อนมาอีก 1 เงื่อนไข สมมติว่าเงื่อนไข B
<img src="images\<%=rRS( "Image" )%>" BORDER="0" ALIGN="MIDDLE" WIDTH="130" HEIGHT="90" HSPACE="10">
<% END IF %> <!--==== ปิด Block คำสั่งเงื่อนไข B-->
<p><font size="3" face="Arial">
<b><%=rRS( "PlaceName" )%></b></font>
<b><%=rRS( "City" )%></b>
<p><%=rRS( "Description" )%>
</td>
<%End IF%><!--==== ปิด Block คำสั่งเงื่อนไข A-->
Date :
18 ส.ค. 2548 15:09:04
By :
นายกระจอก
No. 2
Guest
ลองใส่ ปิด block คำสั่งเงื่อนไข A ไปแล้ว แต่เกิด error ตามข้างล่าง
Microsoft VBScript runtime (0x800A01A8)
Object required: 'Rs'
=======================================
<!-- #include file="file\adovbs.inc" -->
<%' Get the Product ID
pcID = TRIM( Request( "pid" ) )
' Open the Database Connection
openStr="driver={Microsoft Access Driver (*.mdb)}; dbq=" & Server.MapPath("db\Addlst.mdb")
Set Cnn1=Server.CreateObject("ADODB.Connection")
Cnn1.Open openStr,"",""
' Get the Product Informatinon
sqlString = "SELECT * FROM Added WHERE Place= '"&Request.QueryString("pID")&"'" 'บรรทัดนี้น่ะถูกต้องแล้วคร้าบ
Set rRS = Server.CreateObject( "ADODB.Recordset" )
rRS.ActiveConnection = Cnn1
rRS.Open sqlString
' Get Current Category
If not Rs.eof then '============มัน error ตรงบรรทัดนี้
cat = rRS( "Place" )%>
------------
<td><% IF rRS( "Image" ) <> "?????" THEN %>'==============มีเงื่อนไขซ้อนมาอีก 1 เงื่อนไข สมมติว่าเงื่อนไข B
<img src="images\<%=rRS( "Image" )%>" BORDER="0" ALIGN="MIDDLE" WIDTH="130" HEIGHT="90" HSPACE="10">
<% END IF %> <!--==== ปิด Block คำสั่งเงื่อนไข B-->
<p><font size="3" face="Arial">
<b><%=rRS( "PlaceName" )%></b></font>
<b><%=rRS( "City" )%></b>
<p><%=rRS( "Description" )%>
</td>
<%End IF%><!--==== ปิด Block คำสั่งเงื่อนไข A-->
แต่ถ้าตัด If not Rs.eof then ออกมันก็ error ว่า
ADODB.Field (0x800A0BCD)
Either BOF or EOF is True, or the current record has been deleted. Requested operation requires a current record.
ลืมไปถ้าเปลี่ยนจาก
If not Rs.eof then ไปเป็น
If not rRs.eof then
ผลแสดงทั้งหน้าจะแสดงเหมือนกระดาษเปล่า ไม่มีการแสดงผลจาก database เลย ไม่รู้เป็นเพราะอะไร
<!-- #include file="file\adovbs.inc" -->
<%' Get the Product ID
pcID = TRIM( Request( "pid" ) )
' Open the Database Connection
openStr="driver={Microsoft Access Driver (*.mdb)}; dbq=" & Server.MapPath("db\Addlst.mdb")
Set Cnn1=Server.CreateObject("ADODB.Connection")
Cnn1.Open openStr,"",""
' Get the Product Informatinon
sqlString = "SELECT * FROM Added WHERE Place= '"&Request.QueryString("pID")&"'"
Set rRS = Server.CreateObject( "ADODB.Recordset" )
rRS.ActiveConnection = Cnn1
rRS.Open sqlString
' Get Current Category
If not rRs.eof then
cat = rRS( "Place" )%>
------------
<td><% IF rRS( "Image" ) <> "?????" THEN %>
<img src="images\<%=rRS( "Image" )%>" BORDER="0" ALIGN="MIDDLE" WIDTH="130" HEIGHT="90" HSPACE="10">
<% END IF %>
<p><font size="3" face="Arial">
<b><%=rRS( "PlaceName" )%></b></font>
<b><%=rRS( "City" )%></b>
<p><%=rRS( "Description" )%>
</td>
<%End IF%>
set rs = Server.createobject("ADODB.Recordset")
'rs.CursorLocation = 3 'ในฐานข้อมูลของ ms access จะมีหรือไม่มีก็ได้แต่ถ้าในฐานข้อมูลของ mySQL จำเป็นต้องมี
rs.Open sqlstr,conn,1,3
'====ในกรณีนี้จะแสดงเฉพาะRecord แรกเท่านั้นหรือ Record ที่ cursor กำลังชี้อยู่
'====ถ้าอยากแสดงทุก ๆ Record จะต้องวน Loop แสดง
'บรรทัดนี้จะต้องเป็น rs.MoveFirst แล้วก็เริ่มต้น Loop
if not rs.bof or not rs.eof then
%>
<td>
<%if rs("image") <> "?????" then%> <!--field rs("image") เก็บค่า "?????" หรือเปล่า-->
<img src="images\<%=rs("Image")%>" border="0" align="middle" width="130" height="90" hspace="10">
<%end if%>
<p><font size="3" face="Arial">
<b><%=rs("PlaceName")%></b></font>
<b><%=rs("City")%></b>
<p><%=rs("Description")%>
</td>
<%end if%>
====Comment====
ถ้าเกิดว่าในกรณีที่แสดงผลออกมาเป็นหน้ากระดาษเปล่า ให้ทำดังนี้
#. ให้ตรวจสอบคำสั่ง sql ว่าถูกต้องหรือไม่ ดังนี้
- ให้ response.write sqlstr ดูว่ามีค่าเป็นอย่างไร ค่าที่ได้น่าจะเป็น select * from Added where Place='ค่าของตัวแปรpcid'
- แล้วตรวจดูในฐานข้อมูลสิว่าค่าของ Field Place มีค่าตรงกันกับค่าของ pid หรือเปล่า
- และอื่น ๆ อีก อย่าพึ่งทำหน้าฉงน งง มึน ตรวจดูให้รอบคอบทีละบรรทัดทีละตัวให้ดีดี
#. ลอง ๆ ประยุกต์ใช้ดูแล้วท่านจะพบทางสว่างเอง