[.NET] ขอความช่วยเหลือค่ะ ต้องการ add ช่วงวันที่ของ start date กับ end date ใน sql

wave
nuchcy
2,312
สังคมนักพัฒนาระบบ (Community)
[.NET] ขอความช่วยเหลือค่ะ ต้องการ add ช่วงวันที่ของ start date กับ end date ใน sql

รบกวนดู Code หน่อยค่ะ คือต้องการ Add ช่วงวันที่เริ่มลา ถึง วันสิ้นสุดการลาค่ะ บันทึกใน table การลา เช่น
วันที่เริ่มลา 2017-02-16 สิ้นสุดการลา 2017-02-17 

ผลลัพธ์ที่ต้องการ คือ 


 

Employee ID Name LastName Position A BB Job Zone LeaveType StartDate EndDate TotalLeave Description 4801575 ประจงจิตต์ เดชเกลี้ยง ผู้ช่วยผู้จัดการแผนก Support ลาพักร้อน 2017-02-16 2017-02-17 2 พักผ่อน 4801575 ประจงจิตต์ เดชเกลี้ยง ผู้ช่วยผู้จัดการแผนก Support ลาพักร้อน 2017-02-17 2017-02-17 2 พักผ่อน




แต่จากการเขียน code ผลลัพธ์ที่ได้คือ


 

Employee ID Name LastName Position A BB Job Zone LeaveType StartDate EndDate TotalLeave Description 4801575 ประจงจิตต์ เดชเกลี้ยง ผู้ช่วยผู้จัดการแผนก Support ลาพักร้อน 2017-02-16 2017-02-17 2 พักผ่อน 4801575 ประจงจิตต์ เดชเกลี้ยง ผู้ช่วยผู้จัดการแผนก Support ลาพักร้อน 2017-02-17 2017-02-17 2 พักผ่อน 4801575 ประจงจิตต์ เดชเกลี้ยง ผู้ช่วยผู้จัดการแผนก Support ลาพักร้อน 2017-02-17 2017-02-17 2 พักผ่อน



คือ add เกินมา 1 วันค่ะ 


 

Employee ID Name LastName Position A BB Job Zone LeaveType StartDate EndDate TotalLeave Description 4801575 ประจงจิตต์ เดชเกลี้ยง ผู้ช่วยผู้จัดการแผนก Support ลาพักร้อน 2017-02-17 2017-02-17 2 พักผ่อน


รบการช่วยดู Code ให้ด้วยค่ะ

Code (VB.NET)

01.Private Sub Btnabsent_Click(sender As Object, e As EventArgs) Handles Btnabsent.Click

02.Dim iCheck As String

03.Dim idate1 As String

04.idate1 = CStr(Format(Dtpstrdate.Value, "yyyy-MM-dd"))

05.Dim idate2 As String

06.idate2 = CStr(Format(DtpEndDate.Value, "yyyy-MM-dd"))

07.Dim datex As Date

08.Dim iloop As Boolean False

09.datex = Dtpstrdate.Value

10. 

11. 

12. 

13.If confirm("คุณต้องการเพิ่มข้อมูล หรือไม่?") = vbNo Then Return

14. 

15.'For i As Integer = 0 To ts

16. 

17.For As Integer = 0 To DateDiff(DateInterval.Day, Dtpstrdate.Value, DtpEndDate.Value)

18. 

19.sql = "select count(*) from tblLeave where [Job] = '" & txtjob2.Text & "'and StartDate = '" & datex.ToString("yyyy-MM-dd") & "'"

20. 

21.iCheck = cx.ExecuteScalar(sql)

22.' Debug.Print(datex.ToString("yyyy-MM-dd") & " " & iCheck)

23.If iCheck > 1 Then

24.fail("ไม่สามารถ Plan ลาได้เนื่องจากฝั่ง'" & txtjob2.Text & "' มีคนลาครบแล้ว ในวันที่ " & datex.ToString("dd/MM/yyyy"))

25.txtid2.Select()

26.iloop = True

27.Return

28.Else

29.sql = ""

30.sql = "insert into tblLeave values('" & txtid2.Text & "','" & txtname2.Text & "','" & txtlastname2.Text & "','" & txtposition2.Text & "','" & txtA2.Text & "','" & txtBB2.Text & "','" & txtjob2.Text & "','" & txtzone2.Text & "','" & cboleave.Text & "','" & datex.ToString("yyyy-MM-dd") & "','" & idate2.ToString & "','" & txttotalleave.Text & "','" & txtcom.Text & "')"

31.cx.Execute(sql)

32.iloop = False

33.End If

34.datex = datex.AddDays(1)

35. 

36.Next

37.If iloop Then

38.Return

39.End If

40. 

41.If cmd_excuteNonquery() = 0 Then

42.fail("เพิ่มข้อมูลไม่สำเร็จ")

43.Else

44.ok("เพิ่มข้อมูลเรียบร้อยแล้ว")

45.refresh_all_data_userid()

46.txtid2.Text = ""

47.txtname2.Text = ""

48.txtlastname2.Text = ""

49.txtposition2.Text = ""

50.txtA2.Text = ""

51.txtBB2.Text = ""

52.txtjob2.Text = ""

53.txtzone2.Text = ""

54.txtphone.Text = ""

55.cboleave.Text = ""

56.Dtpstrdate.Value = Now

57.DtpEndDate.Value = Now

58.txttotalleave.Text = ""

59.txtcom.Text = ""

60.txtid2.Select()

61. 

62. 

63. 

64.End If

65.End Sub



รบกวนด้วยน่ะค่ะ

0 ความคิดเห็น
ไม่พบผลลัพธ์