![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
SQLQuery и MySQL [D7, MySQL]
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?