asp.net을 사용하여 경매 사이트를 만들려고합니다. 내 경매의 시작일 & 시간과 종료일 & 시간은 SQL Server 2008 R2 데이터베이스에 datetime 형식으로 저장됩니다. 나는 vb.net을 사용하고있다. 현재 날짜 및 시간에 상대적인 날짜 및 시간 부분을 쿼리 할 수있는 select 문을 만들려고합니다 (현재 진행중인 경매 만 표시하도록). Date.Now 함수를 사용하여 날짜 부분을 성공적으로 쿼리 할 수 있지만 시간이 많이 들었습니다. DateAndTime.Now는 작동하지 않습니다. 나는 심지어 데이터베이스에서 시간과 날짜를 분리하려했지만 여전히 효과적인 쿼리를 얻을 수 없습니다.datetime에서 날짜 및 시간 조작 vb.net에서 SQL 서버 유형
는 여기에 내가 해봤 코드의 두 가지 예 : START_DATE_TIME 및 END_DATE_TIME 유형 날짜 시간의 그것에 의하여
Dim Connection As SqlConnection = New SqlConnection(...)
Dim Command As SqlCommand = New SqlCommand()
Dim _Reader As SqlDataReader
Command.Connection = Connection
Command.CommandText = "Select ... from Auctions where Start_Date_Time > " & DateAndTime.Now & " And End_Date_Time > " & DateAndTime.Now
.
그리고 : 시작일과 종료일이 Date 형의, 그리고에서는 Start_Time 및 END_TIME 유형 시간의 그것에 의하여
Dim Connection As SqlConnection = New SqlConnection(...)
Dim Command As SqlCommand = New SqlCommand()
Dim _Reader As SqlDataReader
Command.Connection = Connection
Command.CommandText = "Select ... from Auctions where Start_Date >= " & Date.Today & "Start_Time <= " & DateAndTime.Now.ToLongTimeString & " And End_Date >= " & Date.Today & " And End_Time <= " & DateAndTime.Now.ToLongTimeString
(7).
어떤 제안이 사전에 감사합니다 감사합니다
를 사용하여 매개 변수화 쿼리를. 문자열로 날짜와 시간을 전달하지 마십시오. 또한 현재 시간을 기준으로 매개 변수를 전달하는 대신 TSQL'getdate() '및'dateadd' 함수를 사용하는 것을 고려할 수 있습니다. –
@Martin은 T-SQL의 값 사용에 대한 유일한주의는 서버가 다른 시간대에있을 수 있다는 것입니다. 우리는 영국 데이터 센터의 앱이 버지니아의 데이터베이스에 글을 올렸지 만 아무도 앱이 표시해야하는 내용이나 데이터베이스에 저장되어 있어야하는 내용에 동의 할 수 없었던 문제에 대해이 문제를 한 번 겪었습니다. 그 이후로 나는 항상 UTC에 SQL 서버와 앱 서버를 배치하기 위해 싸웠지 만, 앱이 앱 서버의 날짜/시간을 필요로한다면 ... –