上圖的員工編號txtnumber與密碼txtpassword 驗證輸入正確後
我要在下面的紅圈處label3顯示員工姓名與時間
我的資料表有 ID,number,name,sex,on[上班時間],off[下班時間]
當輸入員工編號要如何轉換成資料表name的中文姓名顯示在紅圈處label3
同時插入一筆時間資料到資料表中呢 ?
我想到程式碼如下 , 但只能顯示員工編號
Protected Sub Button1_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles Button1.Click
If Page.IsValid Then
Label3.Text = "編號:" & txtnumber.Text
End If
End Sub
deanya提到:
還有資料庫的時間寫入, 建議用 getDate() 這個資料庫函式...直接抓取資料庫時間~
推getDate()。
另外,紀錄上下班的資料和基本資料最好是要正規化比較好。
個人基本資料和流水帳放在一起,以後維護上會有問題。
另外我還想到跨日的問題,會不會有加班加到隔天,
在邏輯上就要判斷出,現在是昨天的下班還是今天的上班。
這些規則確定了就比較不會有BUG,當然這是延伸議題。
請問我在資料表com_on[上班時間]預設值或繫結是(getdate())
這樣有一筆資料就會顯示時間
可是要怎麼判斷上班只顯示上班時間 , 下班只顯示下班時間
因為com_on [上班時間]與com_off [下班時間]都設(getdate())
會只顯示一次登入時間 , 無法分辨上下班
還有當輸入使用者與密碼要去資料庫驗證 , 應該是在那個方面設定呢 ?
我改成出勤就好了只要一個欄位 , 這樣就可以不分上班與下班
至於使用者與密碼去資料庫驗證正確後 , 才會顯示出勤時間
則還沒想到要怎麼做
cmkung提到:
com_off [下班時間]都設(getdate())
...如果要記錄下班時間...com_off應該不要設定預設值,等到下班打卡時再update
我們的做法是, 紀錄員工所有進出入系統的時間...
然後再取第一筆和最後一筆的時間,
不過加班跨日的部份就要看HR的定義了... XD
請問使用者與密碼去資料庫驗證正確後 , 才可顯示出勤時間
這方面要如何去設定呢 ?
<pre class="c" name="code">IF (SELECT count(*) FROM 資料表名稱 WHERE 驗證條件...) > 1
BEGIN
SELECT 打卡時間 FROM 資料表名稱 WHERE 驗證條件...
END
詳細 SQL 用法請參考 SQL IF判斷式
http://msdn.microsoft.com/en-us/library/ms182717.aspx
謝謝你這麼熱心回答
我的資料表名稱為 time 欄位 ID,number,name,sex,ontime,com_password
有兩個 textbox 員工編號 txtnumber 密碼 txtpassword
請問以下程式是寫在上圖紅圈處嗎 ? 下面程式對嗎 ?
if (select count(*) form time where txtnumber=number)>1
begin
select ontime from time where txtpassword=com_password
end
If Page.IsValid Then
'先到資料庫先去撈取您要的員工資料(密碼、員工姓名、性別等)
If 密碼=txtPassword.Text Then
'將使用者登入資訊寫入資料表
Label3.Text=員工姓名
EndIf
End If
還有資料庫的時間寫入, 建議用 getDate() 這個資料庫函式...直接抓取資料庫時間~ 不然員工可以調整自己的PC時間, 會有爭議~
P.S 話說...我的第一隻程式也是替我老爹公司寫的打卡程式 XD
謝謝你們這麼熱心回答 , 我改成以下程式對嗎 ?
我的資料表名稱為 time
共有以下欄位 ID,com_number,com_name,com_sec,com_on,com_off,com_password
If Page.IsValid Then
select * from time;
SELECT GETDATE() AS CurrentDateTime
if com_password=txtpassword.text then
insert into time (ID,com_number,com_name,com_sex,com_on,com_off,com_password)
label3.text=com_name
end if
end sub