Наши проекты:
Журнал · Discuz!ML · Wiki · DRKB · Помощь проекту |
||
ПРАВИЛА | FAQ | Помощь | Поиск | Участники | Календарь | Избранное | RSS |
[18.118.12.222] |
|
Сообщ.
#1
,
|
|
|
Добрый вечер.
Использую mysql.pas (http://www.audio-data.de/mysql.html) Все бы хорошо пока работал с числами, но сейчас нужно записать строку, перед этим ее заескейпить, но функция выдает Access Violation, периодически даже Try..Except не спасает от полного вылета программы. Не хочу писать свой аналог, хотя это минутное дело (пока что так и сделаю). В примерах она не используется, документации толком нет. Помогите разобраться что не так: mysql_real_escape_string(LibHandle, PAnsiChar(s), PAnsiChar(Data), length(Data)); s, Data : string; Если перед вызовом дать s:=Data или если s:pchar и вызов без PAnsiChar - результат тот же. |
Сообщ.
#2
,
|
|
|
Показывай весь код.
Какая версия Дельфей? С Юникодными PAnsiChar(string) не работает В Data места достаточно? |
Сообщ.
#3
,
|
|
|
хм.. если верить описанию то функция mysql_real_escape_string предназначается для формирования sql
там даже пример по использованию есть. и если смотреть на те же примеры (описание я не читал. мне лень) то память должна быть выделеной. в данном случае "s" должна быть инициализирована в какой то размер. пс. в данном случае лучше использовать какой то массив или кусок памяти, но не стринг. стринг правильнее формировать из того что получится. |