Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

SQLQuery и MySQL [D7, MySQL]


Страницы:   1 2

pavel_guzhanov ©   (2005-04-20 10:51:00) 

Подскажите, как можно просмотреть результат запроса?

SQLQuery.SQL.Add('Show Databases;');

Естественно, что перед отправкой запроса происходит соединение с сервером. Я попытался добавить DataSource, связать его с SQLQuery и с DBListBox, но в DBListBox ничего не отображается. Если делать через

SQLQuery.FieldByName(..... ,

то что надо указывать в качестве имени поля?

База данных - MySQL 4.0.18


sniknik   (2005-05-13 17:26:00) [1]

извиняюсь... он просто влез в чужое...


sniknik   (2005-05-13 17:24:00) [2]

две темы одинаково неправильно оформлены... одним человеком, под разными никами.


Johnmen   (2005-05-13 16:32:00) [3]

А где текст ?


Roman_SVT   (2005-05-13 16:28:00) [4]

При попытке создать строку и вывести ее в форме для редактирования выходит ошибка Cannot perform this operation on an open connection
Help !!!! не могу от этого избавиться после ошибки все выполняется и работает исправно!!!


pavel_guzhanov   (2005-04-21 10:47:00) [5]

а почему тогда если я в командной строке после подключения к MySQL ввожу "Show databases", у меня выдается спмсок из трех баз? непонятно


Johnmen   (2005-04-21 10:42:00) [6]

Отправил тестовый пример.
Только мне думается, что дело в отсутствии зарегистрированных БД на сервере.


pavel_guzhanov   (2005-04-21 10:10:00) [7]

Johnmen, может быть ты мне кинешь на мыло свой тест? Попробую хоть там разобраться....


pavel_guzhanov   (2005-04-21 10:09:00) [8]

/У меня тест работает, показывает много разных БД в одной колонке Database/

Интересно, а у меня только название колонки, хотя три базы есть точно.

Попробовал сделать listbox и заполнить его вот так:

ListBox1.Items.Add(SQLQuery.Fields[0].AsString);

В листбоксе в первую строку пишется "=1" и больше ничего. Не понимаю, в чем проблема....


Johnmen   (2005-04-20 17:02:00) [9]

Никаких св-в, кроме очевидных, не надо. У меня тест работает, показывает много разных БД в одной колонке Database
:)
YourDBName:=SQLQuery.Fields[0].AsString;


pavel_guzhanov   (2005-04-20 16:47:00) [10]

Блин, замучился экспериментировать, не показывает грид ничего кроме заголовка... Может надо выставить какие-нибудь свойства у TSQLQuery-TDataSetProvider-TClientDataSet-TDataSource-TDBGrid, кроме очевидных?
А как использовать SQLQuery.Field[0]... , если можно, то подскажите всю строчку...


pavel_guzhanov   (2005-04-20 12:05:00) [11]

Буду экспериментировать, спасибо за помощь


Johnmen   (2005-04-20 12:01:00) [12]

Создай новый проект, накидай на форму необходимые компоненты, свяжи их, пропиши нужные свойства. И в дизайнтайме тестируйся, делай коннект, выполняй запрос, активизируй клиентдатасет...
Увидишь в гридевсё, как есть...:)


pavel_guzhanov   (2005-04-20 11:53:00) [13]

как же нет? Когда я эту же команду даю в командной строке, мне показывается три базы. Значит они там есть:))


Johnmen   (2005-04-20 11:51:00) [14]

Значит нет DataBase'ов, известных серверу :)


pavel_guzhanov   (2005-04-20 11:39:00) [15]

Написал
SQLQuery1.Open;
ClientDataSet1.Active:=true;

В Гриде появился заголовок "DataBase", а список остается пустым:((.

Что я все-таки делаю не так? До этого работал с MSSQL через ADO, никаких проблем... А тут никак разобраться не могу....


Johnmen   (2005-04-20 11:26:00) [16]

SQLQuery1. Open;  RTFM !!!!!!!!!!!!  

>Sergey13 ©   (20.04.05 11:16) [7]

Верно, в стандарте нет. А в диалекте MySQL есть :)


pavel_guzhanov   (2005-04-20 11:20:00) [17]

да... протупил...

значит так. У DBGrid ставлю свойство DataSource - DataSource1, далее, у DataSource1 ставлю свойство DataSet - ClientDataSet1, У ClientDataSet1 свойство ProviderName - DataSetProvider1, у DataSetProvider1 свойство DataSet - SQLQuery1.

В программе делаю :

SQLQuery1.ExecSql();

В гриде нет ничего.  
Что я сделал не так? Вроде бы все правильно...


Sergey13   (2005-04-20 11:16:00) [18]

2[4] Johnmen ©   (20.04.05 11:05)
Спорить не буду, ибо, повторюсь, не работал с мускулом. Но сомнения остаются. Не помню я в SQL слова SHOW. В Оракле например тоже можно в SQLPlus выполнить "desc table_name" и увидеть структуру таблицы. Но запросом эта команда программы SQLPlus не является, хотя скорее всего интерпретируется при выполнении в запрос.


Johnmen   (2005-04-20 11:09:00) [19]

DataAccess, есть такая закладка...:)


pavel_guzhanov   (2005-04-20 11:07:00) [20]

TQSLQuery-TDataSetProvider-TClientDataSet-TDataSource-TDBGrid

А где взять TDataSetProvider-TClientDataSet?


Страницы:   1 2

Наверх

Титульная страница Поиск, карта сайта Написать письмо