VB.NET操作数类型冲突:日期与int错误不兼容

时间:2013-03-18 12:55:46

标签: sql vb.net datetime select where

我正在尝试使用where子句从数据库中显示名为 staffpresentee 的表中的记录...

我正在使用visual studio 2010 ...

表格设计如下 -

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

请注意,第二个字段的类型是日期而不是日期时间......

我想显示表中所有日期在'date'字段中的所有记录... 我目前的查询是 -

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

dr = cmd.ExecuteReader我收到错误

  

“操作数类型冲突:日期与int”

不兼容

我尝试了select * from staffpresentee查询,但没有正确运行的where子句。

2 个答案:

答案 0 :(得分:1)

尝试将日期值放在单引号中。

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

答案 1 :(得分:0)

试试这个 -

cmd = New SqlClient.SqlCommand("select * from staffpresentee where [date]=@dt", cn)
cmd.Parameters.AddWithValue("@dt", DateTime.Now.Date)
dr = cmd.ExecuteReader