Легенда:
новое сообщение
закрытая нитка
новое сообщение
в закрытой нитке
старое сообщение
|
- Напоминаю, что масса вопросов по функционированию форума снимается после прочтения его описания.
- Новичкам также крайне полезно ознакомиться с данным документом.
Господа, будьте снисходительны, не бросайтесь сразу штрафовать за, как вам кажется, глупые вопросы - beginners на то и beginners.
Плохо пишешь... Без экранирования введенных пользователем данных рискуешь получить SQL-injection [upd] 30.03.15 15:35 Число просмотров: 3463
Автор: Den <Denis> Статус: The Elderman Отредактировано 01.04.15 10:33 Количество правок: 3
|
Если запрос выполняется единожды и больше не повторяется в процессе работы программы, то SQLExecDirect, конечно, можно использовать. В остальных случаях лучше использовать параметризованный запрос, подготовленный с помощью SQLPrepare.
После подготовки запроса тебе надо сделать SQLBindParameter, затем SQLExecute. Пример использования смотри в конце описания функции SQLBindParameter.
Windows Data Access Components SDK: https://msdn.microsoft.com/en-us/library/aa968814(v=vs.85).aspx
ODBC API Reference: https://msdn.microsoft.com/en-us/library/ms714562(v=vs.85).aspx
[upd]
> PS. В Качестве СУБД использую MS Access. > Но даже там при ручном формировании запроса так и не смог понять, > в каком виде оператору INSERT дату передавать.
В самом Access'е дата должна представляться внутри запроса через '#' без символов строки
"INSERT INTO User (id, date) VALUES (0, #23.07.2014#)"
Самый вменяемый хелп по ассексу присутствует только в MS Access 97. Хелпы последующих ассексов выглядят как шлак. Вот о чем нам повествует вышеупомянутый хелп:
"Переменные типа Date (значения даты и времени) сохраняются как 64-разрядные (8-байтовые) числа с плавающей точкой стандарта IEEE, представляющие даты в диапазоне от 1 января 100 г. до 31 декабря 9999 г. и значения времени от 0:00:00 до 23:59:59. Переменным типа Date могут быть присвоены любые значения, задаваемые распознаваемыми датами в явном представлении (литералами даты). Литералы даты следует окружать символами (#), например, #January 1, 1996# или #1 Jan 96#.
Значения типа Date выводятся с использованием краткого формата даты, установленного для компьютера. Значения времени выводятся в установленном 12-часовом или 24-часовом формате.
При преобразовании других числовых типов данных к типу Date целая часть числа представляет значение даты, а дробная значение времени. Полночь представляется значением 0, а полдень значением .5. Отрицательные целые числа представляют даты до 30 декабря 1899 г."
SQLPrepare SQLBindParameter SQLExecute
|
|
|