powered by simpleCommunicator - 2.0.54     © 2025 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / WinForms, .Net Framework [игнор отключен] [закрыт для гостей] / Запрос на вывод даты из базы данных.
25 сообщений из 66, страница 2 из 3
Запрос на вывод даты из базы данных.
    #38961843
vasiliw8
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Shocker.Provasiliw8Если у Вас есть ответ на мой вопрос, пожалуйста ответьте, не обращайте внимания на мелочи.ок

если ориентироваться на ваш изначальный, как вы утверждаете, рабочий запрос
Код: sql
1.
SELECT Da_te,Na_me, Phone FROM Prv WHERE (Da_te = Date())



то запрос для получения следующей даты будет
Код: sql
1.
SELECT TOP 1 Da_te FROM Prv WHERE Da_te > Date()



Спасибо за ответ.
А куда его надо вставить в моем коде?
...
Рейтинг: 0 / 0
Запрос на вывод даты из базы данных.
    #38961847
Roman Mejtes
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
как тут выше уже сказали, для нормальной работы нужно:
а) хранить день рождения
б) С помощью метода DATEPART извлекать из дня рождения день и месяц
в) подставлять к полученным дню и месяцу текущий год. Это будет день рождения пациента. Важно учитывать, что 29 февраля бывает только 1 раз в 4 года, и если кто то родился 29, то я фиг знает по каким они правилась отмечают дни рождения )
г) с помощью выборки с условием найти все дни рождения, в заданном (нужно промежутке)

при манипуляции с датами, как вариант можно брать не день и месяц, а количество дней от начала года, затем прибавлять в 1.1.<текущего года> это количество и получать день рожденья, тогда проблем с 29 февраля не будет. Ну или для 29 февраля задать какую то свою логику.

перед тем как городить код, стоит подумать не о том, как вы будите его писать, а о том каким будет алгоритм выполнения и не важно. SQL это или что то еще.
...
Рейтинг: 0 / 0
Запрос на вывод даты из базы данных.
    #38961848
Фотография Shocker.Pro
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
vasiliw8Я хотел сказать: это не моя профессия. В настоящее время я пенсионер и вместо кино, вино и домино, я увлекся программированием.это типа шутка была... да и смайлик был
vasiliw8А куда его надо вставить в моем коде?откуда ж мне знать, вы же сами сказани, не обращать внимание на ваш код, а другого у меня нет.
Действуйте по аналогии, а лучше прочтите учебник
...
Рейтинг: 0 / 0
Запрос на вывод даты из базы данных.
    #38961849
Фотография Antonariy
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
vasiliw8Antonariy,
Вы имеете ввиду математический знак или количество дней рождения в одну и ту же дату?
На количество дней рождения в одну и ту же дату, можно не обращать внимания.наверное я не понял суть задачи. показалось, нужно найти ближайшую дату в прошлом.
...
Рейтинг: 0 / 0
Запрос на вывод даты из базы данных.
    #38961852
Roman Mejtes
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Код: c#
1.
cmd.CommandText = "SELECT Da_te,Na_me, Phone FROM Prv WHERE (Da_te = Date())"


вставлять SQL запрос нужно в эту строку, в кавычках.
...
Рейтинг: 0 / 0
Запрос на вывод даты из базы данных.
    #38961853
Фотография Shocker.Pro
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Antonariyпоказалось, нужно найти ближайшую дату в прошлом.неудивительно, ведь в изначальном условии было:vasiliw8является ближайшей датой от сегодняшней.С какой стороны ближайшей - не сказано. Автору из этого рекомендация - быть как можно чётче в формулировках
...
Рейтинг: 0 / 0
Запрос на вывод даты из базы данных.
    #38961854
Фотография Antonariy
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Roman MejtesВажно учитывать, что 29 февраля бывает только 1 раз в 4 года, и если кто то родился 29, то я фиг знает по каким они правилась отмечают дни рождения )Одна знакомая родилась 29го. По невисокосным годам праздновала 28го, ибо выходной)
...
Рейтинг: 0 / 0
Запрос на вывод даты из базы данных.
    #38961856
Фотография Shocker.Pro
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
AntonariyПо невисокосным годам праздновала 28го, ибо выходной ) хмм
...
Рейтинг: 0 / 0
Запрос на вывод даты из базы данных.
    #38961860
vasiliw8
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Shocker.Pro,
Код, который я выложил в порядке, он рабочий.
Запрос, который Вы написали мне понятен, но не понятно куда его вставить в мой код.
Там уже есть один запрос и он нужен.
...
Рейтинг: 0 / 0
Запрос на вывод даты из базы данных.
    #38961864
Roman Mejtes
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
vasiliw8,

создайте еще один метод, который будет возвращать дату.
а еще лучше всё это обернуть в какой то общий метод, в который вы будите передавать запрос и после выполнения получать данные.
Еще лучше, если он будет Generic'ом.
...
Рейтинг: 0 / 0
Запрос на вывод даты из базы данных.
    #38961868
Фотография Antonariy
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Shocker.ProAntonariyПо невисокосным годам праздновала 28го, ибо выходной ) хмм вот я дятел, с 23м перепутал. :)
однажды она что-то про выходные 28го говорила, я и ляпнул.
...
Рейтинг: 0 / 0
Запрос на вывод даты из базы данных.
    #38961869
vasiliw8
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Roman Mejtes,
Но запрос, который есть в моем коде нужен и он выполняет свою работу - при совпадении текущей даты с датой в поле Da_te,
куда вставить запрос о следующей после сегодняшней даты в поле Da_te?
...
Рейтинг: 0 / 0
Запрос на вывод даты из базы данных.
    #38961873
Roman Mejtes
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
vasiliw8,

используйте процедуры и функции в C#, для получения разных данных используйте разные методы. Нельзя весь код умещать в методе Load, такой подход порочен.
...
Рейтинг: 0 / 0
Запрос на вывод даты из базы данных.
    #38961883
vasiliw8
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
[SRC VB]Private Sub Form_Activate()
Label3 = Date
dtPrv.Recordset.FindFirst "Format(Da_te, ""ddmm"")= " & Format(Date, "ddmm")
Label2 = dtPrv.Recordset!Te_xt
Label7 = dtPrv.Recordset!Phone
Label8 = dtPrv.Recordset!Da_te
If Label3 = Label8 Then
Label1 = "Сегодня День Рождения"
Else
Label1 = "Сегодня Дня Рождения"
Label2 = "нет ни у кого"
Label7 = "и не надо никому звонить"
End If

Dim a As String
Dim b As String
Dim c As String
Dim d As String
Dim e As String
Dim f As String
Dim n
n = Date + 10000
With Me.dtPrv.Recordset
Do Until .EOF
If !Da_te > Date Then
If n > !Da_te Then
n = !Da_te
End If
End If
.MoveNext
Loop
End With


b = Format(CDate(n), "dd mmmm")
d = CStr(CDate(b) - Date)
c = "осталось"
f = "Следующий День Рождения"
Select Case d
Case 1, 21, 31
e = "день"
c = "остался"
Case 2, 3, 4, 22, 23, 24
e = "дня"
Case 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 25, 26, 27, 28, 29, 30
e = "дней"
c = "осталось"
End Select
dtPrv.Recordset.FindFirst "format(Da_te,""ddmm"")=" & Format(b, "ddmm")
a = dtPrv.Recordset!Te_xt

Label13 = f & " " & a & " " & b & " " & c & " " & d & " " & e

End Sub

Private Sub Label5_Click()
End
End Sub

[SRC VB]

Эта программа выполнена в VB6.
Здесь то ,что мне необходимо выполняется с помощью цикла With DoUntil Loop, может подскажете, как сделать такой цикл под мою программу в VB.NET?
...
Рейтинг: 0 / 0
Запрос на вывод даты из базы данных.
    #38961885
Фотография Shocker.Pro
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
vasiliw8,

это просто мрак, от и до

не стоит это переписывать, нужно сформулировать ТЗ и написать заново
...
Рейтинг: 0 / 0
Запрос на вывод даты из базы данных.
    #38961940
vasiliw8
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Roman Mejtes,
Это вообще, а как это сделать конкретно?
...
Рейтинг: 0 / 0
Запрос на вывод даты из базы данных.
    #38962007
vasiliw8
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Большое спасибо всем помогавшим мне, задача решена.
И выглядит так:
Код: vbnet
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
34.
35.
36.
37.
38.
Public Class Form1

    Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
        Dim conn As New OleDb.OleDbConnection
        conn = New OleDb.OleDbConnection("Provider=Microsoft.ACE.OLEDB.12.0;Data Source=C:\Users\user\Desktop\Nap212_VB.NET\B_Day.accdb;Persist Security Info=False;")
        Dim cmd As OleDb.OleDbCommand

        'Получаем сегодняшнего именинника
        cmd = New OleDb.OleDbCommand
        cmd.CommandText = "SELECT Da_te,Na_me, Phone FROM Prv WHERE (Da_te = Date())"
        cmd.Connection = conn
        conn.Open()
        Dim dr As System.Data.OleDb.OleDbDataReader
        dr = cmd.ExecuteReader()
        If dr.Read() Then
            Label1.Text = "Сегодня День Рождения"
            Label2.Text = dr.Item("Na_me")
            Label7.Text = dr.Item("Phone")
        End If
        conn.Close()

        'Получаем ближайшего именинника
        cmd = New OleDb.OleDbCommand
        cmd.CommandText = "SELECT Da_te,Na_me, Phone FROM Prv WHERE Da_te = (SELECT MIN(Da_te) FROM Prv WHERE Da_te > Date())"
        cmd.Connection = conn
        conn.Open()
        dr = cmd.ExecuteReader()
        If dr.Read() Then
            Label8.Text = dr.Item("Da_te")
            Label9.Text = dr.Item("Na_me")
            Label10.Text = dr.Item("Phone")
        End If
        conn.Close()
        cmd.Dispose()
        dr.Close()

    End Sub
End Class
...
Рейтинг: 0 / 0
Запрос на вывод даты из базы данных.
    #38962044
Roman Mejtes
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
=) так и не воспользовались моим советом.
Еще раз советую, прочитайте про ООП, а потом уже лепите такое.
...
Рейтинг: 0 / 0
Запрос на вывод даты из базы данных.
    #38962485
Фотография Axeleron
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
AntonariyОдна знакомая родилась 29го. По невисокосным годам праздновала 28го, ибо выходной)
А бы не праздновал - хотя бы один день в году без алкоголя...
...
Рейтинг: 0 / 0
Запрос на вывод даты из базы данных.
    #38962564
vasiliw8
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Roman Mejtes,
Совет хорош, когда его можно применить практически.
Ваш совет из области .........., какой решите сами.
Может быть это не лучшее решение, но это работает. Вы же ничего конкретного не предлагаете, я Вас не знаю, как я могу Вам верить.
...
Рейтинг: 0 / 0
Запрос на вывод даты из базы данных.
    #38962573
Фотография Shocker.Pro
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
А кого вы из нас знаете, чтобы доверять нашим словам?
Вообще, думаю, ни у кого из нас даже сомнение не возникает в правильности его совета.
...
Рейтинг: 0 / 0
Запрос на вывод даты из базы данных.
    #38962583
Фотография Axeleron
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
vasiliw8Может быть это не лучшее решение, но это работает
С таким подходом, надеюсь, Вы никогда не пойдете разрабатывать коммерческий продукт. Потому что сейчас очень много таких программистов развелось. У них, если программа в итоге запустилась, то уже успех. А остальным потом сидеть и разгребать такое УГ - мало радости...
...
Рейтинг: 0 / 0
Запрос на вывод даты из базы данных.
    #38962586
Фотография Axeleron
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
vasiliw8Roman Mejtes, я Вас не знаю, как я могу Вам верить.
Если хотите, я могу Вам даже справку показать, что ему можно верить.
...
Рейтинг: 0 / 0
Запрос на вывод даты из базы данных.
    #38963072
Фотография D129
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
vasiliw8,

А мне нравится подключать новичков к профессии.
Каждый раз наблюдаешь как непонятки рассасываются и человек продвигается.
Ну поприкалываться чуть - это типа компенсации, погреть свое эго, какой я мол умный после 15 лет программизма.
:-)

По теме - есть разные подходы к проблемме отображения данных на экране.
Именно на них вам намекают сурьезные товарищи.
:-)

Один из них - рассматривать данные как единый обьект, из которого торчат видимые свойства - и экран отображает их, не высчитывая.
А расчеты и прочая логика - в самом обьекте.

При этом подходе - задавать условия поиска в строке запроса к базе данных - это очень плохой стиль - не смотря на то, что я его и посоветовал.

Но я считаю, что для вас важно поверить, что задачи решаемы в принципе.
И просто сказать - все плохо, переделывайте - неконструктивно.
...
Рейтинг: 0 / 0
Запрос на вывод даты из базы данных.
    #38963223
vasiliw8
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
D129,
Я хочу быть ,с Вами и всеми написавшими, согласен, но никто не прислал альтернативного (я уже не говорю лучшего) решения.
Говорить просто так можно до бесконечности, но теперь, имея решение, пусть не лучшее, но РЕШЕНИЕ я могу, используя мои скромные знания и литературу, осознать, понять и попытаться сделать этот код более коротким.
И еще, в некоторых областях анализа ситуации, есть понятие "черного ящика" т.е. в "черный ящик" входит информация и выходит из него, а, что происходит внутри не учитывается.
...
Рейтинг: 0 / 0
25 сообщений из 66, страница 2 из 3
Форумы / WinForms, .Net Framework [игнор отключен] [закрыт для гостей] / Запрос на вывод даты из базы данных.
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]