Register Register Member Login Member Login Member Login Forgot Password ??
PHP , ASP , ASP.NET, VB.NET, C#, Java , jQuery , Android , iOS , Windows Phone
 

Registered : 108,374

HOME > ASP > ASP Forum > เขียนดักด้วย if (rs.bof and rs.eof) then แต่มีข้อมูล ทำไมเข้าเงื่อนไขนี้ตลอดเลยครับ



 

เขียนดักด้วย if (rs.bof and rs.eof) then แต่มีข้อมูล ทำไมเข้าเงื่อนไขนี้ตลอดเลยครับ

 



Topic : 135403



โพสกระทู้ ( 0 )
บทความ ( 0 )



สถานะออฟไลน์




If (rs.bof and rs.eof) then
'if rs.recordcount = 0 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>

1

แต่พอลบตรงนี้ออก
V
V
V

'if rs.recordcount = 0 then
response.write "???????????????????????????????????."
response.End
end if

ข้อมูลก็แสดงปกติครับ


ปล.แก้ต่อจากคนอื่นอ่าครับ



Tag : ASP







Move To Hilight (Stock) 
Send To Friend.Bookmark.
Date : 2020-07-20 13:00:20 By : mossyz View : 73 Reply : 13
 

 

No. 1



โพสกระทู้ ( 1,157 )
บทความ ( 0 )



สถานะออฟไลน์
Twitter Facebook Blogger

Quote:
เขียนดักด้วย if (rs.bof and rs.eof) then แต่มีข้อมูล


เช็คค่า rs.recordcount ว่าเป็น 0 จริงหรือไม่ ถ้าใช่มันก็ทำงานถูกแล้วครับ






แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2020-07-20 13:05:45 By : PhrayaDev
 


 

No. 2



โพสกระทู้ ( 0 )
บทความ ( 0 )



สถานะออฟไลน์


ตอบความคิดเห็นที่ : 1 เขียนโดย : PhrayaDev เมื่อวันที่ 2020-07-20 13:05:45
รายละเอียดของการตอบ ::
ผมลองเช็คแล้วครับได้ 0 แต่ Records ในตารางก็มีนะครับ ต้องแก้ตรงไหนโปรดชี้แนะด้วยครับ ก่อนหน้านี้มันก็ทำงานปกตินะครับ

แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2020-07-20 14:54:41 By : mossyz
 

 

No. 3



โพสกระทู้ ( 1,157 )
บทความ ( 0 )



สถานะออฟไลน์
Twitter Facebook Blogger

มันต้องดูหลายอย่าง...เบื้องต้นลองตรวจสอบมาตั้งแต่การ connect มาเรื่อยๆ ครับ ลองฝึกใช้ debug ไปด้วย

https://www.w3schools.com/asp/ado_recordset.asp

http://www.w3bai.com/en-US/asp/asp_examples.html

https://www.thaicreate.com/asp/asp-ado-recordset-object.html
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2020-07-20 15:05:06 By : PhrayaDev
 


 

No. 4



โพสกระทู้ ( 1,157 )
บทความ ( 0 )



สถานะออฟไลน์
Twitter Facebook Blogger

ตัวอย่างการตรวจสอบ 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
 


 

No. 5



โพสกระทู้ ( 8,583 )
บทความ ( 2 )



สถานะออฟไลน์


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
 


 

No. 6



โพสกระทู้ ( 1,157 )
บทความ ( 0 )



สถานะออฟไลน์
Twitter Facebook Blogger

= ถูกแล้วครับ

https://docs.microsoft.com/en-us/dotnet/visual-basic/programming-guide/language-features/operators-and-expressions/comparison-operators

หรือ อาจเลี่ยงไปใช้เครื่องหมายอื่นแทน
Code (ASP)
If Not rs.RecordCount > 0 Then

https://stackoverflow.com/questions/6793097/how-do-i-test-if-a-recordset-is-empty-isnull


ประวัติการแก้ไข
2020-07-20 17:14:26
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2020-07-20 17:14:05 By : PhrayaDev
 


 

No. 7



โพสกระทู้ ( 8,583 )
บทความ ( 2 )



สถานะออฟไลน์


ตอบความคิดเห็นที่ : 6 เขียนโดย : PhrayaDev เมื่อวันที่ 2020-07-20 17:14:05
รายละเอียดของการตอบ ::
อ้อ VB นึกว่า c# อ่านโค๊ดไม่ดี ไม่ได้เขียนนานแล้ว เบลอ



ประวัติการแก้ไข
2020-07-20 17:35:21
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2020-07-20 17:34:22 By : Chaidhanan
 


 

No. 8



โพสกระทู้ ( 0 )
บทความ ( 0 )



สถานะออฟไลน์


ตอบความคิดเห็นที่ : 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
 


 

No. 9



โพสกระทู้ ( 8,583 )
บทความ ( 2 )



สถานะออฟไลน์


https://docs.microsoft.com/en-us/sql/ado/reference/ado-api/bof-eof-properties-ado?view=sql-server-ver15

กรณี เป็น true ทั้งคู่ คือเกิด error เมื่อ open statement


ประวัติการแก้ไข
2020-07-20 18:00:43
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2020-07-20 17:58:45 By : Chaidhanan
 


 

No. 10



โพสกระทู้ ( 1,157 )
บทความ ( 0 )



สถานะออฟไลน์
Twitter Facebook Blogger

ตอบความคิดเห็นที่ : 7 เขียนโดย : Chaidhanan เมื่อวันที่ 2020-07-20 17:34:22
รายละเอียดของการตอบ ::
เริ่มไปแล้วเหมือนกันครับ
เมื่อกี้ อ่านรูปการแสดงผลในคำถามเป็น
"ขณะนี้ไม่มีหัวคิดในฐานข้อมูลเลย."


ตอบความคิดเห็นที่ : 8 เขียนโดย : mossyz เมื่อวันที่ 2020-07-20 17:34:48
รายละเอียดของการตอบ ::
ดู No.9 ครับ เปลี่ยนเงื่อนไขใหม่

If (rs.bof and rs.eof) then <-- เอาออก แล้วใส่ recordcount แทน (No.6)





ถ้าโค้ดของ page มีแค่ใน No.8 (ไม่มีต่อด้านล่าง/บน) ...มีตัวแปร today และออปเจ็ก conn2 เป็นขยะ
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2020-07-20 19:17:39 By : PhrayaDev
 


 

No. 11



โพสกระทู้ ( 8,583 )
บทความ ( 2 )



สถานะออฟไลน์


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
 


 

No. 12



โพสกระทู้ ( 0 )
บทความ ( 0 )



สถานะออฟไลน์


ขอบคุณพี่ๆทั้งคู่ครับ เดี๋ยวผมลองแก้ดูครับ ยอมรับเลยผมโง่มาก T^T
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2020-07-21 09:05:12 By : mossyz
 


 

No. 13



โพสกระทู้ ( 1,157 )
บทความ ( 0 )



สถานะออฟไลน์
Twitter Facebook Blogger

ตอบความคิดเห็นที่ : 12 เขียนโดย : mossyz เมื่อวันที่ 2020-07-21 09:05:12
รายละเอียดของการตอบ ::
ถ้าหมายถึง No.10...ผมไม่ได้ว่าใครนะครับ
แต่เล่าถึงสังขารตัวเอง ทั้งที่อายุยังน้อย อย่าว่าแต่โค้ด...
อ่านข้อความธรรมดา บางทีกลายเป็นพระฤๅษีแปลงสาร

ส่วนวิธีแก้ปัญหาก็ค่อยเรียนรู้ไป
สงครามก่อนชนะ ก็ต้องรู้จักความพ่ายแพ้
ในโลกนี้ไม่มีคนเก่งหรือโง่ จริงๆ ...แค่รู้ก่อนรู้หลังเท่านั้นแล

แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2020-07-21 11:36:40 By : PhrayaDev
 

   

ค้นหาข้อมูล


   
 

แสดงความคิดเห็น
Re : เขียนดักด้วย if (rs.bof and rs.eof) then แต่มีข้อมูล ทำไมเข้าเงื่อนไขนี้ตลอดเลยครับ
 
 
รายละเอียด
 
ตัวหนา ตัวเอียง ตัวขีดเส้นใต้ ตัวมีขีดกลาง| ตัวเรืองแสง ตัวมีเงา ตัวอักษรวิ่ง| จัดย่อหน้าอิสระ จัดย่อหน้าชิดซ้าย จัดย่อหน้ากึ่งกลาง จัดย่อหน้าชิดขวา| เส้นขวาง| ขนาดตัวอักษร แบบตัวอักษร
ใส่แฟลช ใส่รูป ใส่ไฮเปอร์ลิ้งค์ ใส่อีเมล์ ใส่ลิ้งค์ FTP| ใส่แถวของตาราง ใส่คอลัมน์ตาราง| ตัวยก ตัวห้อย ตัวพิมพ์ดีด| ใส่โค้ด ใส่การอ้างถึงคำพูด| ใส่ลีสต์
smiley for :lol: smiley for :ken: smiley for :D smiley for :) smiley for ;) smiley for :eek: smiley for :geek: smiley for :roll: smiley for :erm: smiley for :cool: smiley for :blank: smiley for :idea: smiley for :ehh: smiley for :aargh: smiley for :evil:
Insert PHP Code
Insert ASP Code
Insert VB.NET Code Insert C#.NET Code Insert JavaScript Code Insert C#.NET Code
Insert Java Code
Insert Android Code
Insert Objective-C Code
Insert XML Code
Insert SQL Code
Insert Code
เพื่อความเรียบร้อยของข้อความ ควรจัดรูปแบบให้พอดีกับขนาดของหน้าจอ เพื่อง่ายต่อการอ่านและสบายตา และตรวจสอบภาษาไทยให้ถูกต้อง

อัพโหลดแทรกรูปภาพ

Notice

เพื่อความปลอดภัยของเว็บบอร์ด ไม่อนุญาติให้แทรก แท็ก [img]....[/img] โดยการอัพโหลดไฟล์รูปจากที่อื่น เช่นเว็บไซต์ ฟรีอัพโหลดต่าง ๆ
อัพโหลดแทรกรูปภาพ ให้ใช้บริการอัพโหลดไฟล์ของไทยครีเอท และตัดรูปภาพให้พอดีกับสกรีน เพื่อความโหลดเร็วและไฟล์ไม่ถูกลบทิ้ง

   
  เพื่อความปลอดภัยและการตรวจสอบ กระทู้ที่แทรกไฟล์อัพโหลดไฟล์จากที่อื่น อาจจะถูกลบทิ้ง
 
โดย
อีเมล์
บวกค่าให้ถูก
<= ตัวเลขฮินดูอารบิก เช่น 123 (หรือล็อกอินเข้าระบบสมาชิกเพื่อไม่ต้องกรอก)







Exchange: Voake, Comcube, รับทำเว็บไซต์ รับเขียนโปรแกรม , รับทำบัญชี , โรงงานผลิตครีม , สำนักงานบัญชี , รับจดทะเบียนบริษัท , Pangpond , รถมือสอง

Load balance : Server 03
ThaiCreate.Com Logo
© www.ThaiCreate.Com. 2003-2020 All Rights Reserved.
ไทยครีเอทบริการ จัดทำดูแลแก้ไข Web Application ทุกรูปแบบ (PHP, .Net Application, VB.Net, C#)
[Conditions Privacy Statement] ติดต่อโฆษณา 081-987-6107 อัตราราคา คลิกที่นี่