2013-02-22 3 views
0

У меня есть таблица SQL Server Registration с именем и datetime, я хочу искать данные с datetime, которая меньше datetime.now.Как найти базу данных SQL Server с помощью C#

SqlDataAdapter cs = 
    new SqlDataAdapter("Select * from Registration where Date > DateTime.now") 

Я хочу, чтобы это время было меньше, чем сегодня.

+3

Вам нужно узнать ADO.Net, что вы пробовали? где вы посмотрели? Вот страница msdn: http://msdn.microsoft.com/en-us/library/aa577376(v=bts.20).aspx – Derek

+0

http://www.databasejournal.com/features/mssql/article. php/2209321/Work-with-SQL-Server-DateTime-Variables-Part-Three --- Search-for-Particular-Date-Values-and-Ranges.htm – Win

+0

Вам нужен SqlCommand с параметрами: http: // msdn .microsoft.com/en-us/library/system.data.sqlclient.sqlcommand.parameters.aspx –

ответ

3

Вы можете использовать SQL GETDATE() сделать это:

SqlDataAdapter cs = new SqlDataAdapter("Select * from Registration where Date < GETDATE()") 
+0

Но Дорогой Стол Columen DataType - DateTime не только дата ?? –

+0

Уважаемый Но если я хочу, чтобы ввести дату ввода вручную в текстовое поле или дату выбора из monthcalender1, что такое код? –

4

T-SQL встроенная функция getdate() возвращает текущую серверную дату/время.

Поэтому ваш запрос должен быть, SELECT * FROM Registration WHERE [Date] < getdate().

Используя это в вашем коде будет:

SqlDataAdapter cs = new SqlDataAdapter("Select * from Registration where [Date] < getdate()") 
+0

вопрос сказать меньше, чем datetime.now –

+0

@IswantoSan Да, плохая копия-вставка. Спасибо –

+0

Но Дорогой Стол Columen DataType - DateTime не только дата ?? –

2

Используйте GETDATE(), чтобы получить текущую дату в запросе.

SqlDataAdapter cs = new SqlDataAdapter("Select * from Registration where Date < GETDATE()"); 
+0

Но Дорогой Стол Columen DataType - DateTime не только дата ?? –

1

Это может сработать ... если вы хотите использовать .NET DateTime, это будет дата локальной системы.

 SqlDataAdapter cs = new SqlDataAdapter(
      "SELECT * FROM [Registration] 
      WHERE [Date] < '" + DateTime.Now.ToShortDateString() +"';"); 

    //output: SELECT * FROM [Registration] WHERE [Date] < '2/22/2013'; 

Это будет зависеть от типа данных [дата] столбца, если это строка или даты и времени или что-то другое. Если это YYYYmmdd, то вы можете манипулировать выходом DateTime.Now для соответствия.

+0

Дорогой Но если я хочу, чтобы ввести дату ввода вручную в текстовое поле или дату выбора с monthcalender1, что такое код? –

+0

, если вы используете текстовое поле, собираете и DateTime.TryParse() введенный текст. если вы используете элемент управления календарем, у него должно быть средство для экспорта даты в любом формате, в котором вы нуждаетесь. Поместите значения данных в строку вместо «DateTime.Now.ToShortDateString()», – zax0978

1

Его очень просто ..

если вы хотите использовать SQL текущий DateTime использовать SELECT * FROM регистрации WHERE [Дата] < GETDATE()

, и если вы хотите, чтобы ваше приложение текущей даты и времени использовать

"SELECT * FROM регистрации WHERE [Date] < '+ Datetime.Now.Tostring() +'"

Также попробуйте использовать параметризованный запрос, если вы хотите второй вариант.

Смежные вопросы