|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
Опции темы | Поиск в этой теме |
08.08.2008, 13:55 | #1 |
Пользователь
Регистрация: 12.02.2008
Сообщений: 10
|
Работа с MySQL в Дельфи 7
Доброго дня уважаемые профи.Хотелось бы получить совет по поводу работы с Mysql через dbExpress, для подключения использую дрова от Core Lab, т.к. остальные компоненты никак не хотели соединяться с сервером.Вообщем суть вопроса вот в чем:пытаюсь добавить запись в таблицу и постоянно вылетает ошибка unknown column ' ' in field list когда в едит1 и едит2 вписывают буквы. С цифрами во всех полях добавление просиходит, но так же вылетает ошибка на iternal dataset: cursor not returned from query, подскажите пожалуйста как можно решить эту проблему?Сам я только начал работу с SQL, не могли бы вы еще подсказать где найти какие нибудь примеры работы с MySQL в Дельфи.
Заранее спасибо! сам запрос: SimpleDataSet1.DataSet.CommandText: =('insert into '+Combobox1.Text+'(name,genre,kol,p rice) values ('+Edit1.Text+','+Edit2.Text+','+Ed it3.Text+','+Edit4.Text+')'); |
08.08.2008, 14:19 | #2 | |
Белик Виталий :)
Старожил
Регистрация: 23.07.2007
Сообщений: 57,097
|
Цитата:
I'm learning to live...
|
|
08.08.2008, 14:25 | #3 | |
Пользователь
Регистрация: 12.02.2008
Сообщений: 10
|
Цитата:
Через комбобокс1 выбирается таблица для отображения в дбгрид, соответственно когда пытаюсь записать данные, комбобокс1 указывает в какую таблицу производить запись. |
|
08.08.2008, 15:58 | #4 |
Пользователь
Регистрация: 21.08.2007
Сообщений: 89
|
проверь правильно ли записаны name,genre,kol,price
и если среди них есть стринговый тип то с кавычками запиши values ("'+Edit1.Text+'",'+
подписываюсь
Последний раз редактировалось Банзай; 08.08.2008 в 16:01. |
08.08.2008, 16:45 | #5 |
Пользователь
Регистрация: 12.02.2008
Сообщений: 10
|
|
08.08.2008, 17:04 | #6 |
Пользователь
Регистрация: 21.08.2007
Сообщений: 89
|
dbExpress-ом не пользовался, похоже что этот методом запроса используется для SELECT и после ожидает ответа сервера с запрашиваемыми данными, поищи у этого компонента другие способы передавать команду.
подписываюсь
|
09.08.2008, 02:29 | #7 |
Пользователь
Регистрация: 12.02.2008
Сообщений: 10
|
Переделал все под SQLQuery, и если запрос выполнять через ExecSQL запись добавляется корректно, без ошибок, но не обновляется т.е. записи не видно пока не выполнится другой запрос, например на смену таблицы.
Если использовать SQLQuery.open / close как я понимаю эти функции работают с возвратом данных, то все та же ситуация с ошибкой cursor not returned from query.Вопрос в следующем, как организовать обновление таблицы сразу после выполнения запроса?Т.е. что бы после добавления записи происходило обновление и результат сразу был виден на дбгриде, без смены таблиц или выполнения других запросов?Спасибо! |
01.12.2010, 20:29 | #8 |
Новичок
Джуниор
Регистрация: 30.11.2010
Сообщений: 2
|
блин у меня похожие траблы, исп. SQLQuery, SQLConnection, пишу запрос:
if userName.Text<>'' then begin s:=userName.Text; SQLQuery1.SQL.Add('SELECT * FROM main WHERE uName='''+s+'''); end подчеркивает три одинарные кавычки, если их не ставить, а оставить по одной, то пишет: Missing query, table name or procedure name при таком коде: if userName.Text<>'' then begin s:=userName.Text; SQLQuery1.SQL.Add('SELECT * FROM main WHERE uName='+s); end |
01.12.2010, 21:13 | #9 |
Пользователь
Регистрация: 12.09.2010
Сообщений: 69
|
если в SQLQuery есть параметризированные запросы, то попробуй через них...
А так вот есть СПЕЦИАЛЬНЫЙ компонент для работы с MySQL и Дельфи. Проверено, работает: http://programmersforum.ru/showthread.php?t=118018
SELECT BEST FROM LIFE
|
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Подключение к удаленной БД(MySQL) и работа с ней! | IIpopoK | БД в Delphi | 2 | 29.12.2010 21:31 |
Работа с папками в Дельфи | Космос | Помощь студентам | 2 | 10.10.2007 20:47 |
Работа с MySql | zetrix | PHP | 1 | 18.06.2007 15:02 |