powered by simpleCommunicator - 2.0.60     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / WinForms, .Net Framework [игнор отключен] [закрыт для гостей] / Запуталси с датами
20 сообщений из 20, страница 1 из 1
Запуталси с датами
    #32324080
sadsaf
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
гАспада

как составить запрос, чтобы там появлялись заявки не все а только за последний месяц

В базе имеется столбец Дата заявки (DateTime)
...
Рейтинг: 0 / 0
Запуталси с датами
    #32324162
Фотография tpg
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Лучше всего, конечно чтобы использовался индекс (если он есть), вычислить начальную дату месяца, а в запросе написать

... WHERE [Дата]>=<значение_начальной_даты_текущего_месяца>
...
Рейтинг: 0 / 0
Запуталси с датами
    #32324165
Фотография tpg
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Вот сюда в FAQ можно заглянуть.
...
Рейтинг: 0 / 0
Запуталси с датами
    #32324416
sadsaf
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
я хочу что то типа такого

InitializeComponent()

DateTime d1 = текущая дата; (Допустим 14.05.03)

DateTime d2 = d1 - 30 дней; (т.е. чтобы получилось 14.04.03)

sqlDataAdapter1.Fill ....

а потом в запросе написать


SELECT.........WHERE(Дата>=d3)


вообще такое возможно?
...
Рейтинг: 0 / 0
Запуталси с датами
    #32324493
Trong
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Код: plaintext
1.
2.
3.
sqlDataAdapter.SelectCommand.CommandText =  "select * from MyTable where [Date]>=@dt" 
sqlDataAdapter.SelectCommand.Parameters.Clear();
sqlDataAdapter.SelectCommand.Parameters.Add( "@dt" , SqlDbType.VarChar,  8 ,  "@dt" ).Value = sDate;
...
Рейтинг: 0 / 0
Запуталси с датами
    #32324637
sadsaf
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
хм, извини конечно за тупость но я тута ничего не понял Как оно тута вычичляет разницу в 30 дней
Если можно то начеркай полностью

Я писал там выше. Все что тама по русски я не знаю как написать на шарповском
...
Рейтинг: 0 / 0
Запуталси с датами
    #32324932
Dronopotamus
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
автор писал:
хм, извини конечно за тупость но я тута ничего не понял Как оно тута вычичляет разницу в 30 дней


Код: plaintext
1.
2.
3.
4.
5.
6.
7.
DateTime d = DateTime.Now.AddMonths(- 1 );

дальше можно и так:
sqlDataAdapter1.SelectCommand.CommandText = 
 "select * from Table where ([Date] >= convert(datetime, '" + d.ToString("yyyy.mm.dd") + "', 102 ))"

sqlDataAdapter1.Fill(...)
...
Рейтинг: 0 / 0
Запуталси с датами
    #32325046
sadsaf
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
С вычислениями розобрался

а вот дальше опять все ругается, мол System error
...
Рейтинг: 0 / 0
Запуталси с датами
    #32326340
sadsaf
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Может еще какие версии будут, а?
...
Рейтинг: 0 / 0
Запуталси с датами
    #32326464
Dronopotamus
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
ты внятно скажи чего у тебя не работает :)
...
Рейтинг: 0 / 0
Запуталси с датами
    #32326838
sadsaf
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
команда адаптера
При написании все ок.
А при загрузке System error в датасете
...
Рейтинг: 0 / 0
Запуталси с датами
    #32327051
Dronopotamus
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Посмотри в окне output что за system error.
Там будет строчка типа
Unhandled Exception: описание_ошибки.

Скорее всего у тебя неправильная ConnectionString либо с правами на сервере чего, т.к. код работает.
...
Рейтинг: 0 / 0
Запуталси с датами
    #32327118
sadsaf
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
public bestellForm()
{
//
// Required for Windows Form Designer support
//
InitializeComponent();


DateTime d = DateTime.Now.AddMonths(-1);




sqlDataAdapter1.Fill(dataSet11);
sqlDataAdapter2.Fill(dataSet531);
sqlDataAdapter3.Fill(dataSet561);
//
// TODO: Add any constructor code after InitializeComponent call
//
}


...



private void InitializeComponent()
{

...

this.sqlSelectCommand1.CommandText = "SELECT [Пункт назначения],
[Дата заявки], ..., id FROM [full] WHERE" +
" ([Дата заявки] >= convert(datetime, '" + d.ToString("yyyy.mm.dd") + "', 102))";

this.sqlSelectCommand1.Connection = this.sqlConnection1;

...



При загрузке выдает ошибку и указывает на sqlDataAdapter1.Fill(dataSet11);


Может я не туда воткнул DateTime d = DateTime.Now.AddMonths(-1);
...
Рейтинг: 0 / 0
Запуталси с датами
    #32327178
Dronopotamus
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
ну так посмотри что за ошибка в output'e
...
Рейтинг: 0 / 0
Запуталси с датами
    #32327243
sadsaf
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
dditional information: System error.


Unhandled Exception: System.Data.SqlClient.SqlException: The conversion of a char data type to a datetime data type resulted in an out-of-range datetime value.
at System.Data.SqlClient.SqlConnection.OnError(SqlException exception, TdsParserState state)
at System.Data.SqlClient.SqlInternalConnection.OnError(SqlException exception, TdsParserState state)
at System.Data.SqlClient.TdsParser.ThrowExceptionAndWarning()
at System.Data.SqlClient.TdsParser.Run(RunBehavior run, SqlCommand cmdHandler, SqlDataReader dataStream)
at System.Data.SqlClient.TdsParser.Run(RunBehavior run, SqlCommand cmdHandler)
at System.Data.SqlClient.SqlDataReader.get_HasMoreResults()
at System.Data.SqlClient.SqlDataReader.NextResult()
at System.Data.Common.DbDataAdapter.FillNextResult(IDataReader dataReader)
at System.Data.Common.DbDataAdapter.FillFromReader(Object data, String srcTable, IDataReader dataReader, Int32 startRecord, Int32 maxRecords, DataColumn parentChapterColumn, Object parentChapterValue)
at System.Data.Common.DbDataAdapter.Fill(DataSet dataSet, String srcTable, IDataReader dataReader, Int32 startRecord, Int32 maxRecords)
at System.Data.Common.DbDataAdapter.Fill(Object data, Int32 startRecord, Int32 maxRecords, String srcTable, IDbCommand command, CommandBehavior behavior)
at System.Data.Common.DbDataAdapter.Fill(DataSet dataSet, Int32 startRecord, Int32 maxRecords, String srcTable, IDbCommand command, CommandBehavior behavior)
at System.Data.Common.DbDataAdapter.Fill(DataSet dataSet)
at transport_7._03sl.bestellForm..ctor() in c:\documents and settings\х\мои документы\visual studio projects\transport 7.03sl\transport 7.03sl\bestellform.cs:line 70
at transport_7._03sl.Form1.menuItem5_Click(Object sender, EventArgs e) in c:\documents and settings\х\мои документы\visual studio projects\transport 7.03sl\transport 7.03sl\form1.cs:line 679
at System.Windows.Forms.MenuItem.OnClick(EventArgs e)
at System.Windows.Forms.MenuItemData.Execute()
at System.Windows.Forms.Command.Invoke()

at System.Windows.Forms.Command.DispatchID(Int32 id)
at System.Windows.Forms.Control.WmCommand(Message& m)
at System.Windows.Forms.Control.WndProc(Message& m)
at System.Windows.Forms.ScrollableControl.WndProc(Message& m)
at System.Windows.Forms.ContainerControl.WndProc(Message& m)
at System.Windows.Forms.Form.WndProc(Message& m)
at System.Windows.Forms.ControlNativeWindow.OnMessage(Message& m)
at System.Windows.Forms.ControlNativeWindow.WndProc(Message& m)
at System.Windows.Forms.NativeWindow.DebuggableCallback(IntPtr hWnd, Int32 msg, IntPtr wparam, IntPtr lparam)
at System.Windows.Forms.UnsafeNativeMethods.DispatchMessageW(MSG& msg)
at System.Windows.Forms.ComponentManager.System.Windows.Forms.UnsafeNativeMethods+IMsoComponentManager.FPushMessageLoop(Int32 dwComponentID, Int32 reason, Int32 pvLoopData)
at System.Windows.Forms.ThreadContext.RunMessageLoop(Int32 reason, ApplicationContext context)
at System.Windows.Forms.Application.Run(Form mainForm)
at transport_7._03sl.Form1.Main() in c:\documents and settings\х\мои документы\visual studio projects\transport 7.03sl\transport 7.03sl\form1.cs:line 674The program '[1620] transport 7.03sl.exe' has exited with code 0 (0x0).
...
Рейтинг: 0 / 0
Запуталси с датами
    #32327566
Valera-x
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Код: plaintext
1.
2.
3.
this.sqlSelectCommand1.CommandText =  "SELECT [Пункт назначения], 
[Дата заявки], ..., id FROM [full] WHERE  month([Дата заявки])=month(GetDate()) " 

...
Рейтинг: 0 / 0
Запуталси с датами
    #32327575
Valera-x
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Еще нужно добавить проверку на текущий год
Код: plaintext
1.
and year([Дата заявки] year(GetDate())
...
Рейтинг: 0 / 0
Запуталси с датами
    #32328221
sadsaf
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Так то оно заработало,

но показывает заявки только за текущий месяц

А если я, например буду Это смотреть числа первого или второго?

А как воткнуть туда минус 30 дней?
...
Рейтинг: 0 / 0
Запуталси с датами
    #32328865
Valera-x
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Запрос с выбором месяца.
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
....
string str= "SELECT [Пункт назначения], 
[Дата заявки], ..., id FROM [full] WHERE  month([Дата заявки])={0 } and year([Дата заявки] year(GetDate())
";
int m= 1 ;//Номер месяца ( 1 .. 12 )
this.sqlSelectCommand1.CommandText = String.Format(str,m)
....
...
Рейтинг: 0 / 0
Запуталси с датами
    #32332190
sadsaf
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
ну вроде как заработало

спа.
...
Рейтинг: 0 / 0
20 сообщений из 20, страница 1 из 1
Форумы / WinForms, .Net Framework [игнор отключен] [закрыт для гостей] / Запуталси с датами
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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