-1

where句を使用してデータベースのstaffpresenteeという名前のテーブルのレコードを表示しようとしています...

VisualStudio2010を使用しています...

テーブルのデザインは次のとおりです-

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

2番目のフィールドのタイプは日付であり、日時ではないことに注意してください。

今日の日付が「日付」フィールドにあるテーブルのすべてのレコードを表示したい...現在のクエリは-

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

dr = cmd.ExecuteReader私はエラーが発生します

「オペランドタイプの衝突:日付はintと互換性がありません」

where句を指定せずにクエリを試しましたselect * from staffpresentee。正しく実行されます。

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 に答える