sufyankadri Ответов: 2

Я хочу выбрать данные из следующих ближайших 15 дней из базы данных


я делаю приложение для истечения срока действия gate pass
поэтому в основной форме я помещаю один вид сетки данных в виде сетки данных будут показаны данные истекающих пропусков ворот в следующем 1 месяце

я пишу приведенный ниже код, но он показывает список пропусков ворот, срок действия которых также истекает в ближайшие 2 месяца


пожалуйста помочь

Что я уже пробовал:

Частная суб MDIParent1_Load(отправителя как объект, а равно EventArgs) обрабатывает ключевое слово mybase.Загрузить
expiryalert()
Конец Подводной Лодки
Общественные суб expiryalert()
Попробуй
Dim da как новый SqlDataAdapter
Dim ds как новый набор данных
Dim cmd как SqlCommand
соединение()
cmd = New SqlCommand ("select * from gatepassdetails where expiration > '" & amp; Format (Today.AddMonths(1), "MM/dd/yyyy") &"'", connsql)
да.Команды selectcommand = ЦМД
da. Fill(ds, " gatepassdetails")
data_expired.Источник данных = ds
data_expired.DataMember = " gatepassdetails"
Поймать ex как исключение
MsgBox(напр. сообщение.Метод toString)
connsql.Закрывать()
Конец Попытки
Конец Подводной Лодки

ZurdoDev

Разве вы не хотите, где истечение срока действия & lt;?

sufyankadri

спасибо за помощь.

King Fisher

используйте оператор between:
выберите * от gatepassdetails где действия между 'сегодня' и 'конечная дата'

2 Ответов

Рейтинг:
6

OriginalGriff

Вместо использования AddMonths и Format (плюс конкатенация строк) рассмотрите возможность использования DATEADD:

cmd = New SqlCommand("SELECT * FROM gatepassdetails WHERE expiry < DATEADD(mm, 1, GETDATE())", connsql)
Который держит все это внутри SQL.


Рейтинг:
20

ZurdoDev

Как уже упоминалось в комментариях, то, что вы действительно хотите использовать, меньше, чем. Если вы переведете его на английский язык, то в настоящее время у вас есть место, где срок годности истекает позже, чем через месяц. То, что вы действительно хотите, - это то, что меньше чем через месяц. Я не уверен, нуждается ли ваша система в этом или нет, но вы можете включить и больше или равно сегодняшней дате.


sufyankadri

спасибо
мне нужно, чтобы я был предупрежден до истечения одного месяца
еще раз спасибо за ваше решение.