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

Вниз

SQLQuery и MySQL   Найти похожие ветки 

 
pavel_guzhanov ©   (2005-04-20 10:51) [0]

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

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

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

SQLQuery.FieldByName(..... ,

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

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


 
Johnmen ©   (2005-04-20 10:57) [1]

TQSLQuery-TDataSetProvider-TClientDataSet-TDataSource-TDBGrid
Вот в этом БДГриде и увидишь.


 
Johnmen ©   (2005-04-20 11:00) [2]

или SQLQuery.Field[0]... ,


 
Sergey13 ©   (2005-04-20 11:03) [3]

Я с мускулом не работал, но мне кажется что "Show Databases;" это не СКЛ запрос, а команда сервера.


 
Johnmen ©   (2005-04-20 11:05) [4]

>Sergey13 ©   (20.04.05 11:03) [3]

Для MySQL это запрос.


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

TQSLQuery-TDataSetProvider-TClientDataSet-TDataSource-TDBGrid

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


 
Johnmen ©   (2005-04-20 11:09) [6]

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


 
Sergey13 ©   (2005-04-20 11:16) [7]

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


 
pavel_guzhanov ©   (2005-04-20 11:20) [8]

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

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

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

SQLQuery1.ExecSql();

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


 
Johnmen ©   (2005-04-20 11:26) [9]

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

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

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


 
pavel_guzhanov ©   (2005-04-20 11:39) [10]

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

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

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


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

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


 
pavel_guzhanov ©   (2005-04-20 11:53) [12]

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


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

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


 
pavel_guzhanov ©   (2005-04-20 12:05) [14]

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


 
pavel_guzhanov ©   (2005-04-20 16:47) [15]

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


 
Johnmen ©   (2005-04-20 17:02) [16]

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


 
pavel_guzhanov ©   (2005-04-21 10:09) [17]

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

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

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

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

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


 
pavel_guzhanov ©   (2005-04-21 10:10) [18]

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


 
Johnmen ©   (2005-04-21 10:42) [19]

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


 
pavel_guzhanov ©   (2005-04-21 10:47) [20]

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


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

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


 
Johnmen ©   (2005-05-13 16:32) [22]

А где текст ?


 
sniknik ©   (2005-05-13 17:24) [23]

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


 
sniknik ©   (2005-05-13 17:26) [24]

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



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

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

Наверх




Память: 0.52 MB
Время: 0.03 c
14-1117898334
Juice
2005-06-04 19:18
2005.06.29
NTFS ный диск под 98 ой


1-1117615189
Yandexman
2005-06-01 12:39
2005.06.29
Работа с потоком


14-1117185483
Kolan
2005-05-27 13:18
2005.06.29
Какой смартфон купить?


14-1117957406
lookin
2005-06-05 11:43
2005.06.29
Новые поступления от OKA-tuning


10-1094808266
Шнур
2004-09-10 13:24
2005.06.29
WordOLE