Проблемы при выполнении оператора SQL Where с датой - PullRequest
3 голосов
/ 23 февраля 2012

Когда я жестко кодирую значения и выполняю инструкцию SQL в Access 2010, команда выполняется и возвращаются требуемые значения.

SELECT [Event ID], [Crowd Size], [Event Name] FROM Event WHERE ([Event Date]=#8/11/2012#) AND ([Event Name]="Peter")

Однако, когда я использую текстовые поля вместо жестко закодированных значений

("SELECT [Event ID], [Crowd Size], [Event Name] FROM [Event] WHERE ([Event Name]='" + textBoxEventName.Text + "') AND ([Event Date]=#" + textBoxEventDate.Text + "#)");

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

Я прошел код в режиме отладки, и значения в текстовых полях верны, но все еще не происходит.

Ответы [ 3 ]

1 голос
/ 23 февраля 2012

Доступ немного сложен с SQL-запросами, которые он выполняет ...

Убедитесь, что дата, которую вы захватываете, имеет правильный формат, или присвойте ей формат самостоятельно.

http://msdn.microsoft.com/en-us/library/az4se3k1.aspx (стандартные строки формата даты и времени)

также убедитесь, что есть все необходимые кавычки и что вы не используете ни одно из «зарезервированных слов»

http://support.microsoft.com/kb/286335 (Список зарезервированных слов в Access)

0 голосов
/ 23 февраля 2012

После многих часов возни с этой проблемой,

Решение состоит в том, что Access SQL любит даты в формате

#YYYY/MM/DD#
0 голосов
/ 23 февраля 2012

Попробуйте: см. Эту страницу: http://www.tizag.com/sqlTutorial/sqlselect.php

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