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

HOME > .NET Framework > Forum > สอบถามปัญหาการเช็คค่าวันที่หน่อยครับ ว่าต้องเช็คทั้ง SQL และ VB.NET



 

สอบถามปัญหาการเช็คค่าวันที่หน่อยครับ ว่าต้องเช็คทั้ง SQL และ VB.NET

 



Topic : 127320



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



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




555

คือผมต้องการให้มันเช็คค่าแค่วันที่อะครับ นับวันที่เข้า - วันที่ออก เช่น ห้อง 107 วันที่ 25 - 27 มีคนจองไว้แล้ว พอจะมีคนมาจองอีกในระหว่างวันที่ 25 - 27 ห้อง 107 จะไม่สามารถจองได้ครับ ตอนนี้มั่วมากเลยครับ 555+ ช่วยหน่อยครับเหลือไอ่นี่อันเดียวเลย จะขึ้นสอบพุธที่จะถึงนี้แล้วครับ พรีสสส !!



Tag : .NET, Ms SQL Server 2008, VB.NET







Move To Hilight (Stock) 
Send To Friend.Bookmark.
Date : 2017-04-22 23:16:15 By : attapon_ View : 983 Reply : 10
 

 

No. 1



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



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

ลองใช้ BETWEEN

Code (SQL)
SELECT * FROM Booking
WHERE (dateBookIn BETWEEN วันที่เริ่มต้น AND วันที่สิ้นสุด) AND idSeat='107' ;







แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2017-04-23 06:55:36 By : pakyaudio
 


 

No. 2



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



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


ตอบความคิดเห็นที่ : 1 เขียนโดย : pakyaudio เมื่อวันที่ 2017-04-23 06:55:36
รายละเอียดของการตอบ ::
ลองหาใน VB หรือเอาโค้ดไปหาใน SQL ครับ

แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2017-04-23 13:06:24 By : attapon_
 

 

No. 3



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



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

ก็โค๊ตที่ให้ นั่นเป็น SQL ก็นำไปใส่ใน vb เพื่อให้ vb เข้าไปค้นหาใน sql
ที่คุณวงสีแดงไว้นั่นแหละครับลองเอาไปแทนที่ แทนค่าเงื่อนไขในการค้นหาดูครับ ทดสอบว่าตรงตามต้องการไหม
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2017-04-23 17:05:38 By : pakyaudio
 


 

No. 4



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



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


ตอบความคิดเห็นที่ : 3 เขียนโดย : pakyaudio เมื่อวันที่ 2017-04-23 17:05:38
รายละเอียดของการตอบ ::
ืืทำได้แล้วครับแต่มันเช็คแค่วันเริ่มแรกเองครับ สมมุติเราจองห้อง 104 เป็นเวลา 2 วัน 24-26 เพราะฉะนั้นในระหว่างวันที่ 24 25 26 ห้อง 104 จะไม่สามารถมีใครจองซ้ำได้ครับ

001

002

000



ประวัติการแก้ไข
2017-04-23 23:06:46
2017-04-23 23:07:28
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2017-04-23 23:05:15 By : attapon_
 


 

No. 5



โพสกระทู้ ( 4,071 )
บทความ ( 23 )



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

ไม่รู้ว่าฐานข้อมูลเป็นแบบไหนนะครับ

แต่ถ้า เราเลือก 24-26 แล้ว ให้มัน Insert เป็น 24 25 26 แค่นี้ ก็ไม่สามรถเลือก ได้แล้วละครับ

เว้ากันซื่อๆคือ ต้องให้ใน ฐานข้อมูล มี 25 กับ 26 ด้วย หรือ Insert ทุกวัน ไม่ใช่เป็นช่วงนั่นเอง
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2017-04-24 08:59:17 By : lamaka.tor
 


 

No. 6



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



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

ปัญหาคือ สมมุติวันที่ 24-26 มีคนจอง ห้อง 104 แล้วไปหาค่าระหว่าง (BETWEEN) วันที่ 24-26 โอเค มันเจอค่าที่บันทึกไว้ในฐานข้อมูล มันก็แจ้งว่ามีคนจองแล้ว แต่ถ้าหาค่า ระหว่าง (BETWEEN) วันที่ 25-26 ของห้อง 104 ในฐานข้อมูลไม่มีวันที่ 25 บันทึกไว้ มันก็ไม่เจอข้อมูลนั้นและแจ้งเตือนว่าห้องว่างอยู่

ถ้าแบบนี้ล่ะ (ผมไม่รู้นะว่าสร้างตารางข้อมูลอย่างไง) สมมุติว่าตารางเป็นแบบนี้ DateBookIn วันเริ่มต้นที่จอง , DateBookOut วันที่สิ้นสุดจอง
idSeat = เลขห้อง

idSeat | DateBookIn | DateBookOut
----------+-----------------+------------------
104 | 2017-01-05 | 2017-01-07
105 | 2017-01-06 | 2017-01-10
106 | 2017-02-05 | 2017-02-11

Code (SQL)
SELECT * FROM Bookning WHERE DateBookIn >= '2017-01-01' AND DateBookOut <= '2017-01-31' AND isSeat='104';


อธิบายก็คือ เงื่อนไขการค้นหา DateBookIn มากกว่าหรือเท่ากับ 2017-01-01 และ DateBookOut น้อยกว่าหรือเท่ากับ 2017-01-31 และ isSeat เท่ากับ 104 มันก็จะหาระหว่าง วันที่ 2017-01-01 ถึง วันที่ 2017-01-31 ในห้อง 104 เจอ
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2017-04-24 09:24:12 By : pakyaudio
 


 

No. 7



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



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


_ID_|____In____|____Out__|
104 |2017-04-24|2017-04-26|
104 |2017-04-27|2017-04-29|

ลองตามนี้ดูน่ะครับ
ผมก็ไม่ได้เทส

สมมุติว่าจะเข้า 25 ออก 26

where ( (datebookin <= '2017-04-25' and '2017-04-25'<= datebookout) or (datebookin <= '2017-04-26' and '2017-04-26'<= datebookout) )
and idseat=104


สมมุติว่าจะเข้า 26 ออก 27
where ( (datebookin <= '2017-04-26' and '2017-04-26'<= datebookout) or (datebookin <= '2017-04-27' and '2017-04-27'<= datebookout) )
and idseat=104

ถ้าเจอข้อมูลคือ ห้องไม่ว่างน่ะครับ
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2017-04-24 10:30:43 By : fonfire
 


 

No. 8



โพสกระทู้ ( 4,071 )
บทความ ( 23 )



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

ลองดูรูปแบบการออกแบบ database ดีๆเน้อ

ถ้าลูกค้าอยากจะจองวันที่ 2019-04-24

จะค้นกันยังไงรึครับ

ถ้าเราใช้ BETWEEN หรือ AND แสดงว่าเราจะต้องระบุวันที่เข้าไปด้วยเสมอ
และค่าที่ได้มักจะออกมาเป็นช่วง(ไม่ได้เจาะจง)

ผมกำลังนั่งนึกถึงตอนที่ user ทำงานอยู่ว่าเขาจะต้องทำอะไรบ้างเพื่อให้รู้ว่า วันที่ 2019-04-24 ว่ารึไม่ว่างนั่นเอง

แล้วยังนึกเผื่อไปด้วยเลยว่าถ้ามีการจอง 2019-04-24 ถึง 2019-04-29
แล้วมีคนอยากจอง 2019-04-26 ถึง 2019-04-27 หรือ 2019-04-29 ถึง 2019-05-02

user จะทำงานยังไง

คืดไปคิดมา ทำ datetimepicker เพื่อระบุตารางของแต่ละห้องน่าจะสวยดี
อย่างห้อง 104 พอเลือกมาก็มิ datetimepicker ที่สามารถดูรายการจองได้เลย
แถมยังประเมิณง่ายด้วยว่าวันไหนมีคนจองไว้แล้ว
ให้ดีอีกนิดระบุเวลาเข้าออกไปด้วยก็แหล่มดีมิใช่น้อย
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2017-04-24 10:53:46 By : lamaka.tor
 


 

No. 9



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



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


แบบนี้ได้ไหมครับ
สมมุติเราจะเช็ควันที่ 2017-01-08 ห้อง 105 ว่างไหม


idSeat | DateBookIn | DateBookOut
----------+-----------------+------------------
104 | 2017-01-05 | 2017-01-07
105 | 2017-01-06 | 2017-01-10
106 | 2017-02-05 | 2017-02-11

Code (SQL)
SELECT * 
FROM {TABLENAME} 
WHERE DATE('2017-01-08') BETWEEN DATE(DateBookIn) AND DATE(DateBookOut)
AND idSeat='105'


แก้ไข1 อ้างอิงตาราง คห. 6
แก้ไข2 แก้ชื่อคอลั่มน์เลขห้อง
แก้ไข3 ยกตัวอย่างให้เห็นชัดเจนขึ้น


ประวัติการแก้ไข
2017-04-24 11:04:46
2017-04-24 11:08:20
2017-04-24 11:13:06
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2017-04-24 11:00:21 By : nPointXer
 


 

No. 10



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



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


ตอบความคิดเห็นที่ : 9 เขียนโดย : nPointXer เมื่อวันที่ 2017-04-24 11:00:21
รายละเอียดของการตอบ ::
ทำได้แล้วครับ มันต้องหาค่าระหว่างของวันที่เข้าก่อนครับ แล้วไป or หา between ของ วันที่ออกอีกที
Code (VB.NET)
Code (SQL)
FROM       Booking
WHERE	   idSeat = [idSeat] AND (( DateBookIn BETWEEN [DateBookIn] 
		   AND [DateBookOut] ) OR (DateBookOut BETWEEN [DateBookIn] AND [DateBookOut] ))

แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2017-04-24 16:11:26 By : attapon_
 

   

ค้นหาข้อมูล


   
 

แสดงความคิดเห็น
Re : สอบถามปัญหาการเช็คค่าวันที่หน่อยครับ ว่าต้องเช็คทั้ง SQL และ VB.NET
 
 
รายละเอียด
 
ตัวหนา ตัวเอียง ตัวขีดเส้นใต้ ตัวมีขีดกลาง| ตัวเรืองแสง ตัวมีเงา ตัวอักษรวิ่ง| จัดย่อหน้าอิสระ จัดย่อหน้าชิดซ้าย จัดย่อหน้ากึ่งกลาง จัดย่อหน้าชิดขวา| เส้นขวาง| ขนาดตัวอักษร แบบตัวอักษร
ใส่แฟลช ใส่รูป ใส่ไฮเปอร์ลิ้งค์ ใส่อีเมล์ ใส่ลิ้งค์ 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 01
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 อัตราราคา คลิกที่นี่