2013-12-23 20 views
0

我需要一些幫助!我一直在尋找這個答案,但沒有遇到任何問題,並嘗試似乎工作!請記住,我是編程新手,我是第一次在這裏發佈海報!我將不勝感激任何幫助和反饋!在sql語句中使用DATE

我正在創建一個簡單的窗體,它將跟蹤用戶單擊開始按鈕和停止按鈕的當前時間。我在VB.NET中使用Access作爲我的數據庫。用戶使用ID#和他們的密碼登錄,然後提示按下2個按鈕中的1個:開始或停止。當他們點擊開始時,他們的ID號,姓名和當前時間被添加到訪問表中。

我遇到的問題是當他們點擊停止按鈕時。單擊停止時,它需要檢查數據庫並查看該用戶是否在其點擊結束的同一天通過其ID#記錄了開始時間。例如:用戶點擊開始於上午9點,點擊結束於上午10點=結束時間被記錄在數據庫中。 用戶點擊結束沒有點擊開始之前,點擊結束=彈出錯誤信息「開始時間沒有輸入」

這是目前我有我的項目的這一部分:

Dim tdate As String 

tdate = Date.Today 

'connect to database 
Using sr As StreamReader = New StreamReader("C:\DatabaseFile1.txt") 
    Dim line As String 

    line = sr.ReadLine() 
    Reading_Line = CStr(line) 
    Console.WriteLine(line) 
End Using 


Database_Full_Path = Reading_Line 

Cn = New ADODB.Connection 

With Cn 
    .ConnectionString = "Provider=Microsoft.ACE.OLEDB.12.0;Data Source=" & Database_Full_Path 
    .Open() 
End With 



selstr2 = "SELECT Log.LastName, Log.FirstName, Log.IDnumber, Log.StartBreak, Log.EndBreak " 
selstr2 = selstr2 & "FROM Log Log " 
selstr2 = selstr2 & "WHERE (Log.StartBreak = " & tdate & ") AND (Log.IDnumber = " & id_F & ") " 

這是將所有信息添加到我的數據庫中,但是沒有正確檢查用戶ID#是否已經爲當前日期輸入了開始時間。

+0

檢查像'WHERE Log.StartBreak不是null,Log.IDnumber = id_F' – Rahul

+0

selstr2 ='「SELECT姓氏,名字,的ID號,StartBreak,EndBreak FROM日誌WHERE StartBreak不爲空AND IDnumber =「+ id_F' – Rahul

+0

感謝您的建議。當我將它添加到選擇字符串時,我得到一個錯誤,說在賦值之前已經使用了變量。我在其他兩個字符串上嘗試了它,並且它重複了它,並且由於語法錯誤,我得到了類型爲'System.Runtime.InteropServices.COMException'的未處理異常。 – user3130577

回答

0

試試這個(大約日期加單引號):

selstr2 = "SELECT Log.LastName, Log.FirstName, Log.IDnumber, Log.StartBreak, Log.EndBreak " 
selstr2 = selstr2 & "FROM Log Log " 
selstr2 = selstr2 & "WHERE (Log.StartBreak = '" & tdate & "') AND (Log.IDnumber = " & id_F & ") " 
+0

看起來像是要工作,但我仍然有一個錯誤:發生了類型'System.Runtime.InteropServices.COMException'的未處理的異常。 附加信息:標準表達式中的數據類型不匹配。 – user3130577

+0

是Log.StartBreak日期字段? Log.ID是數字字段嗎? – BWS

+0

是的,這是正確的。 – user3130577