Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2004.11.21;
Скачать: CL | DM;

Вниз

You have an error in your SQL syntax   Найти похожие ветки 

 
Wint_   (2004-10-24 00:31) [0]

работаю с MYSQL 4.0.17,использую компонент mysql(библиотека libmySQL.dll)
гадость эта вылетает на

   mysql.Connect;
   SQuery:="INSERT INTO admtable VALUES(0, """+Filename
            +""", """+filetype+""", """+content+""");";
   mysql.Query.PrepareTask(PChar(SQuery),"Insert òåñò",
                          ProcessComplete, ProcessError);
   mysql.Execute;  //<-конкретно здесь конечно же вылетает
   mysql.Close;

Вот в сообщении об ошибке говорится,что ошибка возникает когда доходит до content,т.е в запрос вставляется он криво.Как от этого избавиться?
Таблица,которую пользую:
filename:varchar(255)
filetype:varchar(255)
content:mediumblob


 
sniknik ©   (2004-10-24 00:59) [1]

синтаксис sql команды проверь, возможно он кривой. (если бы не MySQL, сказал бы точно, кривой, а так..., может он позволяет имена полей не указывать в инсерте. надо уточнить)
обычно перед VALUES список полей должен быть, также в скобках как и значения.

а то что на content ругается, то возможно для MySQL это зарезервированное слово, его нужно тогда в кавычках (каких именно тоже от сервера MySQL зависит) указывать. (может возникать если компоненты сами правят запрос под "стандарт" и вставляют поле без кавычек)


 
Wint_   (2004-10-24 11:19) [2]

Синтаксис запроса соответствует норме,а content:string;
содержит данные.ругается он,выводя  содержимое content,и вот хз почему?


 
sniknik ©   (2004-10-24 12:53) [3]

> выводя  содержимое content
дело в данных. (???) бывают преценденты null кое какие движки/компаненты (ранние версии обычно) не понимают. ошибка преобразования. приведи всю строку с ошибкой, поточнее, может узнает ее кто.


 
Anatoly Podgoretsky ©   (2004-10-24 12:53) [4]

А это что значит """


 
sniknik ©   (2004-10-24 12:58) [5]

стоп. как же стринг если
> content:mediumblob
с блобом немного не так как со строкой, сделай через stream чтение.


 
sniknik ©   (2004-10-24 13:01) [6]

т.е. (параметр) и в параметр закачивать данные. (хотя конечно аксесс, мсскл, ... другие без проблем со строки в мемо преобразуют... но mysql... может там менее мощьный инструмент по приведению типов)


 
Wint_   (2004-10-24 23:56) [7]

вот полный текст ошибки,может кто что-нибудь скажет

You have an error in your SQL syntax. Check the manual that corresponds to your MySQL server version for the right syntax to use near ""

bla-bla-bla
""


 
sniknik ©   (2004-10-25 00:22) [8]

у вас ошибка в синтаксисе sql. проверьте документацию ссылающуюся на вашу версию MySQL для правильного использования ""

непереводимая игра слов
""


и ты говориш что
> Синтаксис запроса соответствует норме,а content:string;
> содержит данные.ругается он,выводя  содержимое content,и вот хз почему?
и кстати как это "выводя  содержимое content" если запрос на вставку данных?
[1] скорее всего верно.


 
Wint_   (2004-10-25 09:35) [9]

сорри,bla-bla это и есть содержимое переменной content,т.е косяк в запросе он находит именно начиная с вставки в него содержимого переменной content


 
Johnmen ©   (2004-10-25 09:46) [10]

Уже сказали, что строковое значение и блобовское - две большие разницы... И сказали, что делать.


 
Wint_   (2004-10-25 15:52) [11]

короче всем спасибо огромное,тип не роляет по идее,по крайней мере на плюсах так точно:-) все пофиксил,тупо конвертнув в base64



Страницы: 1 вся ветка

Текущий архив: 2004.11.21;
Скачать: CL | DM;

Наверх




Память: 0.49 MB
Время: 0.032 c
1-1099667913
axx
2004-11-05 18:18
2004.11.21
Помогите скрыть кнопку программы на панели задач


1-1099606985
Кто---то
2004-11-05 01:23
2004.11.21
Какая стандартная функция в Дельфи не переводит строку во Float,


6-1095185263
-MS-
2004-09-14 22:07
2004.11.21
Delphi+CGI+ServerSocket


1-1099894622
InfMag
2004-11-08 09:17
2004.11.21
Определение предсутствия формата


6-1095058553
studentt
2004-09-13 10:55
2004.11.21
Cокеты не дают перезагрузить машину ! (D6,W2k)