Форум программистов  
Контакты: о проблемах с регистрацией, почтой и по другим вопросам пишите сюда - alarforum@yandex.ru, проверяйте папку спам! Обязательно пройдите активизацию e-mail.

Вернуться   Форум программистов > Delphi > БД в Delphi
Регистрация

Восстановить пароль
Повторная активизация e-mail

Ответ
 
Опции темы
Старый 08.08.2008, 13:55   #1
drakhar
Пользователь
 
Регистрация: 12.02.2008
Сообщений: 10
Репутация: 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+')');
drakhar вне форума   Ответить с цитированием
Старый 08.08.2008, 14:19   #2
Stilet
Белик Виталий :)
Профессионал
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Адрес: Украина, Донецкая область, г. Краматорск
Сообщений: 57,960
Репутация: 6799
По умолчанию

Цитата:
постоянно вылетает ошибка unknown column ' ' in field list когда в едит1 и едит2 вписывают буквы
А ты проверял чему у тебя равен Combobox1.Text? и совпадают ли описания полей в запросе с полями в таблице указанной в Combobox1.Text?
Stilet вне форума   Ответить с цитированием
Старый 08.08.2008, 14:25   #3
drakhar
Пользователь
 
Регистрация: 12.02.2008
Сообщений: 10
Репутация: 10
По умолчанию

Цитата:
Сообщение от Stilet Посмотреть сообщение
А ты проверял чему у тебя равен Combobox1.Text? и совпадают ли описания полей в запросе с полями в таблице указанной в Combobox1.Text?
всего 3 таблицы, полностью идентичные по структуре.
Через комбобокс1 выбирается таблица для отображения в дбгрид, соответственно когда пытаюсь записать данные, комбобокс1 указывает в какую таблицу производить запись.
drakhar вне форума   Ответить с цитированием
Старый 08.08.2008, 15:58   #4
Банзай
Форумчанин
 
Аватар для Банзай
 
Регистрация: 21.08.2007
Сообщений: 89
Репутация: 5
По умолчанию

проверь правильно ли записаны name,genre,kol,price
и если среди них есть стринговый тип то с кавычками запиши
values ("'+Edit1.Text+'",'+
__________________
подписываюсь

Последний раз редактировалось Банзай; 08.08.2008 в 16:01.
Банзай вне форума   Ответить с цитированием
Старый 08.08.2008, 16:45   #5
drakhar
Пользователь
 
Регистрация: 12.02.2008
Сообщений: 10
Репутация: 10
По умолчанию

Цитата:
Сообщение от Банзай Посмотреть сообщение
если среди них есть стринговый тип то с кавычками запиши
values ("'+Edit1.Text+'",'+
Спасибо большое, действительно помогло
Запись теперь добавляется корректно!Но осталась ошибка iternal dataset: cursor not returned from query, здесь как быть не подскажете?
drakhar вне форума   Ответить с цитированием
Старый 08.08.2008, 17:04   #6
Банзай
Форумчанин
 
Аватар для Банзай
 
Регистрация: 21.08.2007
Сообщений: 89
Репутация: 5
По умолчанию

dbExpress-ом не пользовался, похоже что этот методом запроса используется для SELECT и после ожидает ответа сервера с запрашиваемыми данными, поищи у этого компонента другие способы передавать команду.
__________________
подписываюсь
Банзай вне форума   Ответить с цитированием
Старый 09.08.2008, 02:29   #7
drakhar
Пользователь
 
Регистрация: 12.02.2008
Сообщений: 10
Репутация: 10
По умолчанию

Переделал все под SQLQuery, и если запрос выполнять через ExecSQL запись добавляется корректно, без ошибок, но не обновляется т.е. записи не видно пока не выполнится другой запрос, например на смену таблицы.
Если использовать SQLQuery.open / close как я понимаю эти функции работают с возвратом данных, то все та же ситуация с ошибкой cursor not returned from query.Вопрос в следующем, как организовать обновление таблицы сразу после выполнения запроса?Т.е. что бы после добавления записи происходило обновление и результат сразу был виден на дбгриде, без смены таблиц или выполнения других запросов?Спасибо!
drakhar вне форума   Ответить с цитированием
Старый 01.12.2010, 21:29   #8
alxx
Новичок
 
Регистрация: 30.11.2010
Сообщений: 2
Репутация: 10
По умолчанию

блин у меня похожие траблы, исп. 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
alxx вне форума   Ответить с цитированием
Старый 01.12.2010, 22:13   #9
Dimasw
Форумчанин
 
Регистрация: 12.09.2010
Адрес: Вологда
Сообщений: 69
Репутация: 44
По умолчанию

если в SQLQuery есть параметризированные запросы, то попробуй через них...
А так вот есть СПЕЦИАЛЬНЫЙ компонент для работы с MySQL и Дельфи. Проверено, работает:
http://programmersforum.ru/showthread.php?t=118018
__________________
SELECT BEST FROM LIFE
Dimasw вне форума   Ответить с цитированием
Ответ



Опции темы

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.

Быстрый переход

Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Подключение к удаленной БД(MySQL) и работа с ней! IIpopoK БД в Delphi 2 29.12.2010 22:31
Работа с папками в Дельфи Космос Помощь студентам 2 10.10.2007 20:47
Работа с MySql zetrix PHP 1 18.06.2007 15:02




05:50.


Powered by vBulletin® Version 3.8.8 Beta 2
Copyright ©2000 - 2017, Jelsoft Enterprises Ltd.

купить трафик


как улучшить посещаемость, а также решения по монетизации сайтов, видео и приложений

RusProfile.ru


Справочник российских юридических лиц и организаций.
Проекты отопления, пеллетные котлы, бойлеры, радиаторы
интернет магазин respective.ru