2013-03-18 69 views
-1

不相容我想從一個名爲staffpresentee從數據庫表中顯示的記錄使用WHERE子句...VB.NET操作數類型衝突:日期與詮釋錯誤

我使用的Visual Studio 2010。 ..

表的設計如下 -

.......fieldname..................datatype........allownull 
1......staff_id (fk).............numeric(18,0)......yes 
2.......date........................date.............no 
3......present.....................char(1)..........yes 

注意,第二個字段的類型是日期,而不是日期時間...

我想要顯示從表中有今天的日期INT「日期」字段中的所有記錄... 我當前的查詢是 -

cmd = New SqlClient.SqlCommand("select * from staffpresentee where date=" & Date.Now.Date, cn) 
dr = cmd.ExecuteReader 

dr = cmd.ExecuteReader我得到的錯誤

「操作數類型衝突:日期與詮釋不兼容」

我試過select * from staffpresentee查詢,而它運行正確的where子句。

回答

0

嘗試這個 -

​​
1

試着把日期值放在sigle引號中。

cmd = New SqlClient.SqlCommand("select * from staffpresentee where date='" & _ 
                 Date.Now.Date & "'", cn) 
dr = cmd.ExecuteReader 
+0

它可以幫助...至少我得到過去是Dr = cmd.ExecuteReader'線...
但下一行我有一個條件 '如果dr.read(),然後 我的病情 結束if' 的if語句行,現在says-
轉換中的誤差從字符串轉換日期和/或時間時失敗。 – 2013-03-18 13:50:58

+1

沒關係,我找到了答案... 我做了以下 - 'cmd = New SqlClient.SqlCommand(「select * from staffpresentee where [date] = @ dt」,cn) cmd.Parameters.AddWithValue(「@ dt「,DateTime.Now.Date) dr = cmd.ExecuteReader' – 2013-03-18 14:14:38

相關問題