 |
|
เขียนดักด้วย if (rs.bof and rs.eof) then แต่มีข้อมูล ทำไมเข้าเงื่อนไขนี้ตลอดเลยครับ |
|
 |
|
|
 |
 |
|
ตัวอย่างการตรวจสอบ recordset ว่ามีจริงหรือไม่(ไม่ใช่คิดเอง)
https://www.w3schools.com/asp/ado_display.asp
Code (ASP)
<!DOCTYPE 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")
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>
|
ประวัติการแก้ไข 2020-07-20 15:13:40
 |
 |
 |
 |
Date :
2020-07-20 15:12:11 |
By :
PhrayaDev |
|
 |
 |
 |
 |
|
|
 |
 |
|
 |
 |
 |
|
|
 |
 |
|
if rs.recordcount = 0 then สีแดงเปรียบเทียบแบบนี้เหรอครับ
มันเป็นการกำหนดค่า 0 ให้กับ rs.recordcount หรือเปล่า
ควรจะเป็นแบบนี้หรือเปล่า
if rs.recordcount == 0 then
แต่ก็อีก bof กับ eof มันจะเกิด ก็ต่อเมื่อ มีการเลือน indicator ของ ตัว pointer
แต่ทีนี้ ตรงไหนคือคำสั่งเลื่อน indicator ล่ะ
bof จะ on เมื่อ indicator เลือนไปที่จุดเริ่มต้น เรคคอร์ดแรก
eof จะ on เมื่อ indicator เลือนเลยเรคคอร์ดสุดท้าย
|
ประวัติการแก้ไข 2020-07-20 16:58:46 2020-07-20 17:08:25
 |
 |
 |
 |
Date :
2020-07-20 16:58:16 |
By :
Chaidhanan |
|
 |
 |
 |
 |
|
|
 |
 |
|
 |
 |
 |
|
|
 |
 |
|
ตอบความคิดเห็นที่ : 6 เขียนโดย : PhrayaDev เมื่อวันที่ 2020-07-20 17:14:05
รายละเอียดของการตอบ ::
ทำยังไงก็เข้า if ตลอดเลยครับ ทั้งที่ก่อนหน้านี้ใข้งานปกตินะครับแสดงข้อมูลได้ปกติ Code (VB.NET)
<% response.expires = -1500 %>
<%
session.lcid = 1033
set conn = server.createobject("adodb.connection")
conn.open "Provider=SQLOLEDB;Data source=.;initial catalog=broadcast;uid=broadcast;pwd=broadcast11;"
set rs = server.createobject("adodb.recordset")
set conn2 = server.createobject("adodb.connection")
conn2.open "Provider=SQLOLEDB;data source=svh14-mta;initial catalog=hr;uid=broadcast;pwd=broadcast11;"
yy = datepart("yyyy",date())
mm = datepart("m",date())
mm = right( "00" & mm, 2)
dd = datepart("d",date())
dd = right( "00" & dd, 2)
today = yy & "-" & mm & "-" & dd
site = request.querystring("site")
if site <> "" then
Hosp = "S" & site
else
ip = request.servervariables("remote_addr")
ip = left(ip,5)
set wshnetwork=nothing
if (ip = "10.11") or (ip = "10.21") or (ip="10.12") then
'if (computer_name = "SVH") then
Hosp = "S1"
else
Hosp = "S2"
end if
end if
sql = "Select * from masbrdcs where brdcs_dte2 >= Convert(varchar(10), getdate(), 120) and (brdcs_hos_id ='" & Hosp &"' or brdcs_hos_id ='S') Order by left(upd_dte,4) desc,right(left(upd_dte,7),2) desc, right(upd_dte,2) desc, brdcs_id desc"
rs.open sql, conn , 1 , 3
If (rs.bof and rs.eof) then
response.write "ขณะนี้ไม่มีหัวข้อข่าวในฐานข้อมูลเลย. "
response.End
end if
%>
<table width="98%" border="0" cellspacing="0" cellpadding="0" align="center">
<tr>
<td background="/news/image/bg-hd-brdcs.jpg" valign="bottom"><img src="/news/image/lower-left-bullet.gif" width="10" height="10" align="bottom"></td>
<td background="/news/image/bg-hd-brdcs1.jpg"><img src="/news/image/hd-broadcast.gif" width="167" height="51"></td>
<td background="/news/image/bg-hd-brdcs.jpg" valign="bottom" align="right"><img src="/news/image/lower-right-bullet.gif" width="10" height="10"></td>
</tr>
</table>
|
 |
 |
 |
 |
Date :
2020-07-20 17:34:48 |
By :
mossyz |
|
 |
 |
 |
 |
|
|
 |
 |
|
 |
 |
 |
|
|
 |
 |
|
sql = "Select * from masbrdcs where brdcs_dte2 >= Convert(varchar(10), getdate(), 120) and (brdcs_hos_id ='" & Hosp &"' or brdcs_hos_id ='S') Order by left(upd_dte,4) desc,right(left(upd_dte,7),2) desc, right(upd_dte,2) desc, brdcs_id desc"
order by ยาวไปนะครับ มีค่าเท่ากับ
Order by left(upd_dte, 10) desc, brdcs_id desc
ลองเปลี่ยน การเขียน sql statement ใหม่ดูครับ
Code (VBScript)
sql = String.Concat( _
"Select * from masbrdcs", _
" where brdcs_dte2 >= Convert(varchar(10), getdate(), 120)", _
" and (brdcs_hos_id ='", Hosp , "' or brdcs_hos_id ='S')", _
" Order by left(upd_dte, 10) desc, brdcs_id desc")
|
 |
 |
 |
 |
Date :
2020-07-20 19:43:10 |
By :
Chaidhanan |
|
 |
 |
 |
 |
|
|
 |
 |
|
 |
 |
 |
|
|
 |
 |
|
ขอบคุณพี่ๆทั้งคู่ครับ เดี๋ยวผมลองแก้ดูครับ ยอมรับเลยผมโง่มาก T^T
|
 |
 |
 |
 |
Date :
2020-07-21 09:05:12 |
By :
mossyz |
|
 |
 |
 |
 |
|
|
 |
 |
|
 |
 |
|
|