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


База данных: B_Day.accdb
Таблица: Prv
Поля: Da_te (Дата и время)
Na_me (Короткий текст)
Phone (Короткий текст)

Код: 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.
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\Nap2_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
 
        cmd.Dispose()
        dr.Close()
        conn.Close()
 
        End Sub
 
    Private Sub Label5_Click_1(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Label5.Click
        End
    End Sub



Программа VB.NET 2010

Модератор: Тема перенесена из форума "Visual Basic".
...
Рейтинг: 0 / 0
Запрос на вывод даты из базы данных.
    #38961129
Фотография D129
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
vasiliw8,

Код: sql
1.
SELECT TOP 1   Da_te,Na_me, Phone FROM Prv WHERE (Da_te  > CURRENT_TIMESTAMP) ORDER BY Da_te




Чтото типа так - в вашем случае... дней рождений же может быть больше чем одно в день....
...
Рейтинг: 0 / 0
Запрос на вывод даты из базы данных.
    #38961221
vasiliw8
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Эта строка кода выводит дату сегодняшнего события, а мне нужна следующая ближайшая дата от сегодняшней в поле Da_te.
...
Рейтинг: 0 / 0
Запрос на вывод даты из базы данных.
    #38961247
vasiliw8
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Наверное я неправильно воспользовался Вашей строкой кода.
Подскажите, как и куда правильно ее вставить?
...
Рейтинг: 0 / 0
Запрос на вывод даты из базы данных.
    #38961252
vasiliw8
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
И как вывести результат в Label8.Text ?
...
Рейтинг: 0 / 0
Запрос на вывод даты из базы данных.
    #38961318
Roman Mejtes
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
vasiliw8,

вам стоит почитать книжку для начала, чем мучить тут нас вопросами. Судя по вашим вопросам у вас 0вой уровень.
Почитайте литературу о том, что такое ООП, VB.NET для начинающих, и про реляционные базы данных (SQL, T-SQL\PLSQL) и потом уже задавайте вопросы.
...
Рейтинг: 0 / 0
Запрос на вывод даты из базы данных.
    #38961447
Фотография D129
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
vasiliw8И как вывести результат в Label8.Text ?

Это как раз просто -
Код: vbnet
1.
Label8.Text = dr.Item("Da_te") 




Сам запрос так:

Код: vbnet
1.
2.
3.
4.
   cmd.CommandText = "SELECT TOP 1   Da_te,Na_me, Phone FROM Prv WHERE (Da_te  > DATEADD(day, 1,CURRENT_TIMESTAMP)) ORDER BY Da_te" 


 



Ну и конечно неверно выводить данные из таблицы в единичные контролы.
:-)
Надо использовать Гриды и тому подобное.
...
Рейтинг: 0 / 0
Запрос на вывод даты из базы данных.
    #38961452
Фотография Shocker.Pro
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Кроме того, есть какая-то странность. Неужели в БД хранится день рождения каждый год на каждого человека на сто лет вперед? Логично хранить реальную дату рождения, а выборку делать по месяцу и числу, но не по году.
...
Рейтинг: 0 / 0
Запрос на вывод даты из базы данных.
    #38961464
Фотография D129
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Shocker.ProКроме того, есть какая-то странность.
О, нашли чем удивить.
Я даже не задумался - есть дата следующего чего-то там - я вообще не заморачиваюсь - дата и дата.
Надо выбрать - выбираем...
:-)
Я как программист не должен знать слова такого - "рождения".

Другое дело - если архитектор работает.
Он должен сообразить - что дату можно и вычислить...

:-)
...
Рейтинг: 0 / 0
Запрос на вывод даты из базы данных.
    #38961466
Фотография D129
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Shocker.ProНеужели в БД хранится день рождения ...
Может и хранится. А может и не хранится...
:-)
...
Рейтинг: 0 / 0
Запрос на вывод даты из базы данных.
    #38961479
Roman Mejtes
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
авторDa_te,Na_meпросто вырви глаз название.
Нафига вот так вот делать? привыкайте сразу писать нормально читаемый код. От такого может кровь из глаз пойти
...
Рейтинг: 0 / 0
Запрос на вывод даты из базы данных.
    #38961521
Фотография Shocker.Pro
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
D129Я как программист не должен знать слова такого - "рождения".

Другое дело - если архитектор работает.
Он должен сообразить - что дату можно и вычислить...то понятно, поэтому я и не стал писать об этом первым же постом, подождал, пока будет дан ответ по сути... а потом уже мелкие замечания
...
Рейтинг: 0 / 0
Запрос на вывод даты из базы данных.
    #38961782
vasiliw8
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
D129,
Большое Вам спасибо, за попытки помочь мне, я наверное неправильно объяснил, что я хочу получить.
Попробую высказать более подробно.
У меня уже есть эта программа, сделанная в VB6, которую я создал пару лет назад и она прекрасно работает, но я хочу сделать ее в
VB.NET 2010. Часть программы, которая при совпадении сегодняшней даты с датой (в поле Da_te) БД выводит в Label2.Text(поле Na_me) и в Label7.Text(поле Phone) уже готова и я ее выложил в своем сообщении, работает. Теперь мне нужен код и я хотел бы увидеть куда его надо вставить в моей программе, чтобы вывести в Label8.Text запись из поля Da_te, которая будет следующей после сегодняшней.
Записи в поле Da_te в формате (Дата и время).
...
Рейтинг: 0 / 0
Запрос на вывод даты из базы данных.
    #38961793
vasiliw8
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
D129Shocker.ProКроме того, есть какая-то странность.
О, нашли чем удивить.
Я даже не задумался - есть дата следующего чего-то там - я вообще не заморачиваюсь - дата и дата.
Надо выбрать - выбираем...
:-)
Я как программист не должен знать слова такого - "рождения".

Другое дело - если архитектор работает.
Он должен сообразить - что дату можно и вычислить...

:-)

Не обращайте внимания, что записано в Label1.Text = "Сегодня День Рождения" - это просто текст, не играющий никакой роли для заданного вопроса.
...
Рейтинг: 0 / 0
Запрос на вывод даты из базы данных.
    #38961798
vasiliw8
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Roman Mejtes,
Спасибо за Ваш комментарий, но не будьте слишком строги. Я не программист - это мое хобби.
...
Рейтинг: 0 / 0
Запрос на вывод даты из базы данных.
    #38961805
vasiliw8
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Roman MejtesавторDa_te,Na_meпросто вырви глаз название.
Нафига вот так вот делать? привыкайте сразу писать нормально читаемый код. От такого может кровь из глаз пойти

Хочется написать в ответ, что то жесткое или обидное, но я просто скажу: спасибо за Ваш комментарий.
...
Рейтинг: 0 / 0
Запрос на вывод даты из базы данных.
    #38961806
Фотография Antonariy
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
D129vasiliw8,

Код: sql
1.
SELECT TOP 1   Da_te,Na_me, Phone FROM Prv WHERE (Da_te  > CURRENT_TIMESTAMP) ORDER BY Da_te




Чтото типа так - в вашем случае... дней рождений же может быть больше чем одно в день....а почему больше, когда должно быть меньше?
...
Рейтинг: 0 / 0
Запрос на вывод даты из базы данных.
    #38961808
vasiliw8
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Shocker.ProD129Я как программист не должен знать слова такого - "рождения".

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

Не обращайте внимания, что записано в Label1.Text = "Сегодня День Рождения" - это просто текст, не играющий никакой роли для заданного вопроса.

Если у Вас есть ответ на мой вопрос, пожалуйста ответьте, не обращайте внимания на мелочи.
...
Рейтинг: 0 / 0
Запрос на вывод даты из базы данных.
    #38961810
Фотография Antonariy
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
vasiliw8Roman Mejtesпропущено...
просто вырви глаз название.
Нафига вот так вот делать? привыкайте сразу писать нормально читаемый код. От такого может кровь из глаз пойти

Хочется написать в ответ, что то жесткое или обидное, но я просто скажу: спасибо за Ваш комментарий.но это реально плохие названия для переменных, даже x и y было бы лучше.
...
Рейтинг: 0 / 0
Запрос на вывод даты из базы данных.
    #38961816
Фотография Antonariy
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Antonariyvasiliw8пропущено...


Хочется написать в ответ, что то жесткое или обидное, но я просто скажу: спасибо за Ваш комментарий.но это реально плохие названия для переменных, даже x и y было бы лучше.тьфу, это поля. x и y не лучше. :)
...
Рейтинг: 0 / 0
Запрос на вывод даты из базы данных.
    #38961820
vasiliw8
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Antonariy,
Вы имеете ввиду математический знак или количество дней рождения в одну и ту же дату?
На количество дней рождения в одну и ту же дату, можно не обращать внимания.
...
Рейтинг: 0 / 0
Запрос на вывод даты из базы данных.
    #38961826
Фотография Shocker.Pro
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
vasiliw8Я не программист - это мое хобби.классное хобби. НеПрограммист
...
Рейтинг: 0 / 0
Запрос на вывод даты из базы данных.
    #38961830
vasiliw8
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Antonariy,
Каждый пишет имена полей, чтобы они были информативны. Мне подходят мои названия, но это не суть моего вопроса.
...
Рейтинг: 0 / 0
Запрос на вывод даты из базы данных.
    #38961833
Фотография Shocker.Pro
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
vasiliw8Если у Вас есть ответ на мой вопрос, пожалуйста ответьте, не обращайте внимания на мелочи.ок

если ориентироваться на ваш изначальный, как вы утверждаете, рабочий запрос
Код: 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
Запрос на вывод даты из базы данных.
    #38961839
vasiliw8
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Shocker.Pro,
Я хотел сказать: это не моя профессия. В настоящее время я пенсионер и вместо кино, вино и домино, я увлекся программированием.
...
Рейтинг: 0 / 0
Запрос на вывод даты из базы данных.
    #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
Запрос на вывод даты из базы данных.
    #38963231
vasiliw8
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
vasiliw8,
И еще, можно нарисовать 100$ намного красивее, чем настоящие, но их никто не примет к оплате, потому что это не работает.
...
Рейтинг: 0 / 0
Запрос на вывод даты из базы данных.
    #38963244
Фотография Axeleron
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
vasiliw8И еще, можно нарисовать 100$ намного красивее, чем настоящие, но их никто не примет к оплате, потому что это не работает.
Почему бы и нет? Если красиво нарисовано, можно продать как произведение художества и получаить гораздо больше, чем номинал.
...
Рейтинг: 0 / 0
Запрос на вывод даты из базы данных.
    #38963245
Фотография Axeleron
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
vasiliw8но никто не прислал альтернативного (я уже не говорю лучшего) решения.
Я бы отрефакторил и прислал, но я VB не понимаю (типа намеренно) и понимать не особо хочу, так как пользуюсь C# как мейнстримным языком .NETа.
...
Рейтинг: 0 / 0
Запрос на вывод даты из базы данных.
    #38963246
Фотография Shocker.Pro
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
vasiliw8,

Есть обобщенный подход - КОПИПАСТА - ЗЛО!

Если вы увидели, что у вас повторяется алгоритм (пусть даже из двух строк), нужно сразу выносить его в отдельную функцию. Потому что сложно потом заменять фундамент построенного дома.

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

Старайтесь сразу учиться писать правильно, функционально, ибо потом тяжело переучиваться.
...
Рейтинг: 0 / 0
Запрос на вывод даты из базы данных.
    #38963562
Фотография D129
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
vasiliw8 но никто не прислал альтернативного (я уже не говорю лучшего) решения.

Вы его просто не поймете. Если написать ту аппликацию, которую делаете вы, правильно - там не будет и подобия вашего кода.

Потому, что для доступа в базу нужно использовать nHibernate, или аналогичный Слой Доступа в Базуданных (DAL) , а для отображения - WPF и паттерн MVVM (это уже другая крайность).

:-)



авторно теперь, имея решение, пусть не лучшее, но РЕШЕНИЕ я могу, используя мои скромные знания и литературу, осознать, понять и попытаться сделать этот код более коротким.

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

Вот для этого и ставится задача - разбить программу на "черные ящики" - соединенные друг с другом, и взаимодествующие по определенным интерфейсам, что позволяет заменить любой из "ящиков" - не нарушая работу остальных.
...
Рейтинг: 0 / 0
Запрос на вывод даты из базы данных.
    #38963649
vasiliw8
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
[quot D129]vasiliw8 но никто не прислал альтернативного (я уже не говорю лучшего) решения.

Вы его просто не поймете. Если написать ту аппликацию, которую делаете вы, правильно - там не будет и подобия вашего кода.

Потому, что для доступа в базу нужно использовать nHibernate, или аналогичный Слой Доступа в Базуданных (DAL) , а для отображения - WPF и паттерн MVVM (это уже другая крайность).

:-)

Пример в студию, пожалуйста.
...
Рейтинг: 0 / 0
Запрос на вывод даты из базы данных.
    #38963745
Фотография D129
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
[quot vasiliw8]D129пропущено...


Вы его просто не поймете. Если написать ту аппликацию, которую делаете вы, правильно - там не будет и подобия вашего кода.

Потому, что для доступа в базу нужно использовать nHibernate, или аналогичный Слой Доступа в Базуданных (DAL) , а для отображения - WPF и паттерн MVVM (это уже другая крайность).

:-)

Пример в студию, пожалуйста.
В какую студию? Что у вас установлено - VS2013?
...
Рейтинг: 0 / 0
Запрос на вывод даты из базы данных.
    #38963807
Roman Mejtes
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
vasiliw8D129,
Я хочу быть ,с Вами и всеми написавшими, согласен, но никто не прислал альтернативного (я уже не говорю лучшего) решения.
Говорить просто так можно до бесконечности, но теперь, имея решение, пусть не лучшее, но РЕШЕНИЕ я могу, используя мои скромные знания и литературу, осознать, понять и попытаться сделать этот код более коротким.
И еще, в некоторых областях анализа ситуации, есть понятие "черного ящика" т.е. в "черный ящик" входит информация и выходит из него, а, что происходит внутри не учитывается.
переделать ваш код вообще сложно, потому, что он спроектирован неправильно, но хотя бы вот так:

Код: 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.
	Public Class Form1
		Private Sub ExecuteQuery(sql As String, action As Action(Of OleDbDataReader))
			Using conn = New OleDbConnection("Provider=Microsoft.ACE.OLEDB.12.0;Data Source=C:\Users\user\Desktop\Nap212_VB.NET\B_Day.accdb;Persist Security Info=False;")
				Using cmd = conn.CreateCommand()
					cmd.CommandText = sql
					cmd.CommandType = CommandType.Text
					Using reader = cmd.ExecuteReader()
						If reader IsNot Nothing Then
							action(reader)
							reader.Close()
						End If
					End Using
				End Using
				conn.Close()
			End Using
		End Sub
		Private Sub Form1_Load(sender As System.Object, e As System.EventArgs)

			ExecuteQuery("SELECT Da_te,Na_me, Phone FROM Prv WHERE (Da_te = Date())", Function(p) 
				Label1.Text = "Сегодня День Рождения"
				Label2.Text = p.Item("Na_me")
				Label7.Text = p.Item("Phone") 
			End Function)
			ExecuteQuery("SELECT Da_te,Na_me, Phone FROM Prv WHERE Da_te = (SELECT MIN(Da_te) FROM Prv WHERE Da_te > Date())", Function(p) 
				Label8.Text = p.Item("Da_te")
				Label9.Text = p.Item("Na_me")
				Label10.Text = p.Item("Phone") 
			End Function)
		End Sub
		Public Sub New()
			AddHandler Load, AddressOf Form1_Load
		End Sub
	End Class
...
Рейтинг: 0 / 0
Запрос на вывод даты из базы данных.
    #38964360
vasiliw8
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Roman Mejtes,
Во второй строке кода на OleDbDataReader пишет: 'Type OleDbDataReader is not defined'
В третьей строке кода на OleDbConnection пишет: 'Type OleDbConnection is not defined'
...
Рейтинг: 0 / 0
Запрос на вывод даты из базы данных.
    #38964374
vasiliw8
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
vasiliw8,
VB.NET 2010
...
Рейтинг: 0 / 0
Запрос на вывод даты из базы данных.
    #38964378
Roman Mejtes
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
vasiliw8vasiliw8,
VB.NET 2010
допишите у классов OleDb.
как у вас в коде
...
Рейтинг: 0 / 0
Запрос на вывод даты из базы данных.
    #38964427
vasiliw8
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Roman Mejtes,
Теперь оба выражения End Function) подчеркнуты зеленой волнистой линией и пишет: Function'<anonimous methol>' doesn't retury a value on all code paths. A null reference expecnion could occur at run time when the result is used.

В Public Sub New() слово New() подчеркнуто зеленой волнистой линией и пишет: 'Public Sub New()' in disagner-generated type WindowsApplication1.Form1' should call InitializeComponent method.
...
Рейтинг: 0 / 0
Запрос на вывод даты из базы данных.
    #38964435
Фотография Axeleron
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Roman Mejtes,
Еще не утомился обучать народ азам программирования? По-моему тут запущенный случай. Ну, продолжай...
...
Рейтинг: 0 / 0
Запрос на вывод даты из базы данных.
    #38964437
vasiliw8
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Извините напечатал с ошибками, теперь исправил.
Roman Mejtes,
Теперь оба выражения End Function) подчеркнуты зеленой волнистой линией и пишет: Function'<anonimous method>' doesn't return a value on all code paths. A null reference expection could occur at run time when the result is used.

В Public Sub New() слово New() подчеркнуто зеленой волнистой линией и пишет: 'Public Sub New()' in disagner-generated type WindowsApplication1.Form1' should call InitializeComponent method.
...
Рейтинг: 0 / 0
Запрос на вывод даты из базы данных.
    #38964446
Фотография Antonariy
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
vasiliw8Roman Mejtes,
Теперь оба выражения End Function) подчеркнуты зеленой волнистой линией и пишет: Function'<anonimous methol>' doesn't retury a value on all code paths. A null reference expecnion could occur at run time when the result is used.это норма. но чтобы глаза не мозолило, можно дописать в конце return nothing.

смысл текста вообще понятен?

vasiliw8В Public Sub New() слово New() подчеркнуто зеленой волнистой линией и пишет: 'Public Sub New()' in disagner-generated type WindowsApplication1.Form1' should call InitializeComponent method.Роман похоже прогнал свой c#-код через автоматический конвертатор. Sub New можно вообще убрать, а вместо этого написать
Код: vbnet
1.
Private Sub Form1_Load(sender As System.Object, e As System.EventArgs) Handles Form1.Load
...
Рейтинг: 0 / 0
Запрос на вывод даты из базы данных.
    #38964460
vasiliw8
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Antonariy, Roman Mejtes,

Большое спасибо за Вашу помощь, но я предлагаю на этом остановится т.к. чем дальше в лес, тем больше дров.
И, лучше канарейка в руках, чем журавль в небе.
Еще раз БОЛЬШОЕ СПАСИБО ВСЕМ участвующим.
...
Рейтинг: 0 / 0
66 сообщений из 66, показаны все 3 страниц
Форумы / WinForms, .Net Framework [игнор отключен] [закрыт для гостей] / Запрос на вывод даты из базы данных.
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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