На главную Наши проекты:
Журнал   ·   Discuz!ML   ·   Wiki   ·   DRKB   ·   Помощь проекту
ПРАВИЛА FAQ Помощь Участники Календарь Избранное RSS
msm.ru
! ПРАВИЛА РАЗДЕЛА · FAQ раздела Delphi
Пожалуйста, выделяйте текст программы тегом [сode=pas] ... [/сode]. Для этого используйте кнопку [code=pas] в форме ответа или комбобокс, если нужно вставить код на языке, отличном от Дельфи/Паскаля.
Обязательно указание:
1) типа базы данных (Paradox/Oracle/Interbase и т.п.)
2) способа доступа к базе данных (ODBC/ADO/DAO/BDE и т.п.)
Например: Paradox/BDE, MS Access/ADO

Наиболее часто задаваемые вопросы:
Базы даных для начинающих. Первые шаги. Понятие о BDE.
Переход на клиент-сервер и начала ADO
Приёмы работы с BLOB (OLE/Memo) полями
Запросы и параметры или как избавиться от многих проблем. Проблемы с датами в запросах.
Нужели мне нужно устанавливать BDE? (или почему не работает программа на другом компьютере)
Модераторы: Bas, Rouse_
  
> mysql.pas - AV при вызове mysql_real_escape_string
    Добрый вечер.
    Использую mysql.pas (http://www.audio-data.de/mysql.html)
    Все бы хорошо пока работал с числами, но сейчас нужно записать строку, перед этим ее заескейпить, но функция выдает Access Violation, периодически даже Try..Except не спасает от полного вылета программы. Не хочу писать свой аналог, хотя это минутное дело (пока что так и сделаю).
    В примерах она не используется, документации толком нет.
    Помогите разобраться что не так:
    ExpandedWrap disabled
      mysql_real_escape_string(LibHandle, PAnsiChar(s), PAnsiChar(Data), length(Data));

    s, Data : string;
    Если перед вызовом дать s:=Data или если s:pchar и вызов без PAnsiChar - результат тот же.
    Сообщение отредактировано: Виталь -
      Показывай весь код.
      Какая версия Дельфей? С Юникодными PAnsiChar(string) не работает
      В Data места достаточно?
        хм.. если верить описанию то функция mysql_real_escape_string предназначается для формирования sql
        там даже пример по использованию есть.

        и если смотреть на те же примеры (описание я не читал. мне лень) то память должна быть выделеной. в данном случае "s" должна быть инициализирована в какой то размер.

        пс. в данном случае лучше использовать какой то массив или кусок памяти, но не стринг. стринг правильнее формировать из того что получится.
        0 пользователей читают эту тему (0 гостей и 0 скрытых пользователей)
        0 пользователей:


        Рейтинг@Mail.ru
        [ Script execution time: 0,0261 ]   [ 17 queries used ]   [ Generated: 28.03.24, 09:43 GMT ]