Использование C #, База данных SQL, Как - PullRequest
0 голосов
/ 28 декабря 2011

У меня небольшой вопрос. Я использовал dateTimePicker и создал календарь.

    private void dateTimePicker1_ValueChanged(object sender, EventArgs e)
    {
        DateTime varDate;
        varDate = dateTimePicker1.Value; 
    }

Я создал кнопку под названием Отправить. Моя задача состоит в том, чтобы при выборе даты и нажатии кнопки на ней отображались записи из базы данных в сетке данных до выбранной даты. Например, если я выберу 12.28.2011, он должен отображать все записи, которые меньше этой даты. Я создал соединение с базой данных и все. Но как мы можем сравнить даты ??

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

Ответы [ 2 ]

0 голосов
/ 28 декабря 2011

Может быть, что-то вроде этого поможет:

string query = "SELECT * FROM YourTable WHERE dateField < @dateParameter";
SqlCommand sqlCommand = new SqlCommand(query, yourConnection);
sqlCommand.Parameters.Add("dateParameter", SqlDbType.DateTime).Value = dateTimePicker1.Value;

или

var filteredList = yourFullList.Where(x=>x.date<dateTimePicker1.Value);

или дайте больше информации / кода, что вы делаете.

0 голосов
/ 28 декабря 2011

Это зависит от того, загружаете ли вы все данные из БД или хотите ли вы загружать данные только из заданной даты из БД.

Если вы выберете первый подход, то вы могли быиспользуйте объекты DateTime для хранения ваших дат, сравнивайте их с тем, что у вас когда-либо было, Подробнее читайте здесь. Вы получаете от этого только то, что вам нужно использовать только одно соединение с базой данных, чтобы загрузить все данные, нодержать его в памяти, и вы можете загрузить много, если у вас много данных.Это приведет к быстрой нумерации страниц, например.

Если вы используете второй подход, вам следует изменить свой SQL-запрос, чтобы иметь предложение where, чтобы БД не загружала какую-либо дату в соответствии с вашим утверждением, readбольше о sql здесь .Это даст вам только те записи, которые вы действительно хотите показать, но заставит вас открывать больше соединений с БД, если вы измените даты, это замедлит разбиение на страницы и т. Д.

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