• Vui lòng đọc nội qui diễn đàn để tránh bị xóa bài viết
  • Tìm kiếm trước khi đặt câu hỏi

vb,sql kiểm tra tháng xem có trùng không ?

Chuyên mục thảo luận các vấn đề liên quan đến ứng dụng quản lý và cơ sở dữ liệu

Điều hành viên: Điều hành

thatanhquytu
Thành viên chính thức
Thành viên chính thức
Bài viết: 14
Ngày tham gia: T.Sáu 18/01/2013 5:04 pm
Has thanked: 8 time

vb,sql kiểm tra tháng xem có trùng không ?

Gửi bàigửi bởi thatanhquytu » CN 24/02/2013 10:09 pm

Giúp em với!!!!!
Em làm về checkthang xem nhân viên đã nhận lương trong tháng chưa.
nó bị lỗi ở phần if

Mã: Chọn hết

 Public Function checkNhanvien(ByVal ID As String, ByVal ID1 As Date) As Integer
        'khai bao chuoi ket noi csdl
        'Dim strcon As String
        ' strcon = "Server=home; Database=Quanlynhansu; Integrated Security=True"
        'khai bao va khoi tao doi tuong sqlconnection
        Dim cnn As New SqlConnection
        'gan chuoi ket noi
        cnn.ConnectionString = strcon
        cnn.Open()
        Dim cmd As New SqlCommand("select count(Manhanvien),count(Month(Thang)) from [BANGLUONG] where Manhanvien='" & txtManhanvien.Text & "'and Thang='" & dtmNgay.Value.Month & "'", cnn)
        Dim count As Int32 = Convert.ToInt32(cmd.ExecuteScalar())
        cnn.Close()
        Return count
    End Function

Mã: Chọn hết

 If (checkNhanvien(txtManhanvien.Text, dtmNgay.Value.Month) > 0) Then
                                    If MsgBox(" Nhân viên này đã nhận lương trong tháng!")
                                    End If
Tập tin đính kèm
Untitled.gif
Untitled.gif (5.35 KiB) Đã xem 1193 lần
Sửa lần cuối bởi thatanhquytu vào ngày T.Hai 25/02/2013 8:43 am với 3 lần sửa.



Hình đại diện của người dùng
dazzlingvit
Guru
Guru
Bài viết: 960
Ngày tham gia: T.Ba 18/01/2011 10:21 am
Đến từ: Sinh ra từ hư vô, sống trong thế giới ảo...
Has thanked: 7 time
Been thanked: 112 time
Liên hệ:

Re: vb,sql kiểm tra tháng xem có trùng không ?

Gửi bàigửi bởi dazzlingvit » T.Hai 25/02/2013 12:27 am

Bạn kiểm tra lại tham số thứ 2 của hàm checkNhanvien xem có đúng kiểu Integer không :)
Dazzling V.I.T
Hãy gọi tôi là vịt :)

thatanhquytu
Thành viên chính thức
Thành viên chính thức
Bài viết: 14
Ngày tham gia: T.Sáu 18/01/2013 5:04 pm
Has thanked: 8 time

Re: vb,sql kiểm tra tháng xem có trùng không ?

Gửi bàigửi bởi thatanhquytu » T.Hai 25/02/2013 8:40 am

biến thứ 2 là tháng mà?

cuibaphp
Thành viên chính thức
Thành viên chính thức
Bài viết: 30
Ngày tham gia: T.Ba 04/09/2012 3:04 pm
Been thanked: 15 time

Re: vb,sql kiểm tra tháng xem có trùng không ?

Gửi bàigửi bởi cuibaphp » T.Hai 25/02/2013 8:49 am

tham số thứ 2 của function checkNhanvien(ByVal ID As String, ByVal ID1 As Date) thì ID1 phải là kiểu Date trong khi bạn lại truyền vào dtmNgay.Value.Month có kiểu int nên mới lỗi.

thatanhquytu
Thành viên chính thức
Thành viên chính thức
Bài viết: 14
Ngày tham gia: T.Sáu 18/01/2013 5:04 pm
Has thanked: 8 time

Re: vb,sql kiểm tra tháng xem có trùng không ?

Gửi bàigửi bởi thatanhquytu » T.Hai 25/02/2013 4:21 pm

nhưng nếu truyền date thì không kiểm tra theo tháng được?

FlyingFox
Guru
Guru
Bài viết: 809
Ngày tham gia: T.Tư 20/04/2011 9:56 am
Been thanked: 320 time

Re: vb,sql kiểm tra tháng xem có trùng không ?

Gửi bàigửi bởi FlyingFox » T.Ba 26/02/2013 10:44 am

Sữa lại function CheckNhanVien như sau:
  1. Public Function checkNhanvien(ByVal ID As String, ByVal thangLuong As Integer) As Integer
  2.         'khai bao chuoi ket noi csdl
  3.         'Dim strcon As String
  4.         ' strcon = "Server=home; Database=Quanlynhansu; Integrated Security=True"
  5.         'khai bao va khoi tao doi tuong sqlconnection
  6.         Dim cnn As New SqlConnection
  7.         'gan chuoi ket noi
  8.         cnn.ConnectionString = strcon
  9.         cnn.Open()
  10.         Dim cmd As New SqlCommand("select count(Manhanvien) from [BANGLUONG] where Manhanvien='" & txtManhanvien.Text & "' and Thang =" & thangLuong.ToString(), cnn)
  11.         Dim count As Int32 = Convert.ToInt32(cmd.ExecuteScalar())
  12.         cnn.Close()
  13.         Return count
  14.     End Function

thatanhquytu
Thành viên chính thức
Thành viên chính thức
Bài viết: 14
Ngày tham gia: T.Sáu 18/01/2013 5:04 pm
Has thanked: 8 time

Re: vb,sql kiểm tra tháng xem có trùng không ?

Gửi bàigửi bởi thatanhquytu » T.Ba 26/02/2013 1:17 pm

Cái thangluong của bạn là dùng dattimepiker à ?
Trong câu lệnh sql không có đếm tháng hả bạn?

FlyingFox
Guru
Guru
Bài viết: 809
Ngày tham gia: T.Tư 20/04/2011 9:56 am
Been thanked: 320 time

Re: vb,sql kiểm tra tháng xem có trùng không ?

Gửi bàigửi bởi FlyingFox » T.Ba 26/02/2013 1:26 pm

Trong function checkNhanvien thì chĩ cần biến thangluong (integer) là đũ rồi. Bỡi vì khi gọi function đó checkNhanVien(txtManhanvien.Text, dtmNgay.Value.Month) như bạn viết như trên là được.

thatanhquytu
Thành viên chính thức
Thành viên chính thức
Bài viết: 14
Ngày tham gia: T.Sáu 18/01/2013 5:04 pm
Has thanked: 8 time

Re: vb,sql kiểm tra tháng xem có trùng không ?

Gửi bàigửi bởi thatanhquytu » T.Ba 26/02/2013 1:43 pm

để integer nó không lưu được bạn à!!!

FlyingFox
Guru
Guru
Bài viết: 809
Ngày tham gia: T.Tư 20/04/2011 9:56 am
Been thanked: 320 time

Re: vb,sql kiểm tra tháng xem có trùng không ?

Gửi bàigửi bởi FlyingFox » T.Ba 26/02/2013 2:49 pm

Nếu muốn thangluong có dạng là DateTime thì viết lại như sau
  1. Public Function checkNhanvien(ByVal ID As String, ByVal thangLuong As DateTime) As Integer
  2.         'khai bao chuoi ket noi csdl
  3.         'Dim strcon As String
  4.         ' strcon = "Server=home; Database=Quanlynhansu; Integrated Security=True"
  5.         'khai bao va khoi tao doi tuong sqlconnection
  6.         Dim cnn As New SqlConnection
  7.         'gan chuoi ket noi
  8.         cnn.ConnectionString = strcon
  9.         cnn.Open()
  10.         Dim cmd As New SqlCommand("select count(Manhanvien) from [BANGLUONG] where Manhanvien='" & ID & "' and Thang =" & thangLuong.Month.ToString(), cnn)
  11.         Dim count As Int32 = Convert.ToInt32(cmd.ExecuteScalar())
  12.         cnn.Close()
  13.         Return count
  14.     End Function

Và khi đó gọi function đó bằng cách viết là checkNhanVien(txtManhanvien.Text, dtmNgay.Value)

thatanhquytu
Thành viên chính thức
Thành viên chính thức
Bài viết: 14
Ngày tham gia: T.Sáu 18/01/2013 5:04 pm
Has thanked: 8 time

Re: vb,sql kiểm tra tháng xem có trùng không ?

Gửi bàigửi bởi thatanhquytu » T.Ba 26/02/2013 7:55 pm

thank bạn, mình đã làm được rối!!


Quay về “Ứng dụng Quản lý và Cơ sở dữ liệu”

Đang trực tuyến

Đang xem chuyên mục này: Không có thành viên nào trực tuyến.5 khách