-1

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

我正在使用视觉工作室 2010...

表格设计如下——

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

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

我想在“日期”字段中显示表中具有今天日期的所有记录...我当前的查询是-

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

因为dr = cmd.ExecuteReader我得到了错误

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

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

4

2 回答 2

1

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

cmd = New SqlClient.SqlCommand("select * from staffpresentee where date='" & _
                                                      Date.Now.Date & "'", cn)
dr = cmd.ExecuteReader
于 2013-03-18T13:20:26.427 回答
0

尝试这个-

cmd = New SqlClient.SqlCommand("select * from staffpresentee where [date]=@dt", cn)
cmd.Parameters.AddWithValue("@dt", DateTime.Now.Date)
dr = cmd.ExecuteReader
于 2013-03-19T15:31:21.123 回答