2015-02-22 2 views
0

Является ли этот код правильно:SQL что означает & in where clause?

"SELECT * FROM dataTable WHERE Datee Between '#" & textStartDate.Text & "# AND #" & textEndDate.Text & "#'"  

Что это значит & и что # может кто-нибудь сказать мне, пожалуйста, Я использую VB и Асесс

+0

Если вы действительно используете VB.NET (а не VB6/VBA) изучить возможность использования [интерполированные строки] (https://msdn.microsoft.com/en-us/ библиотека/dn961160.aspx). Что еще более важно, чтобы избежать инъекции SQL и избежать необходимости форматировать значения в формате, совместимом с SQL, рассмотрите возможность использования параметров в вашем SQL-заявлении. –

ответ

0

Амперсанд «&» используется для конкатенации.

Перед

"SELECT * FROM dataTable WHERE Datee Between '#" & textStartDate.Text & "# AND #" & textEndDate.Text & "#'" 

После

"SELECT * FROM dataTable WHERE Datee Between '#" & textStartDate.Text & "#' AND '#" & textEndDate.Text & "#'" 

межгруппового заявления не хватает "" кавычки заключите значение даты.

Редактировать

Как добавить подстановочные к SQL запроса без даты. Этот код имеет дикие карты с обеих сторон переменной.

...WHERE SomeField like '*" & textWeAreSearchingFor & "*'" 

Вот еще примеры того, как запросить тип даты дат.

...WHERE Datee >= '#" & textStartDate.Text & "#'" 

ИЛИ

...WHERE Datee < '#" & textStartDate.Text & "#'" 
+0

Большое спасибо, можете ли вы сказать мне также, как найти приблизительную строку из таблицы, а не точную строку? – Saif

+0

Несомненно. Где somecolumn как '*' & variableForLike "* ' – WorkSmarter

+0

Так как я могу применить его к Между? – Saif