Модераторы: Snowy, MetalFan, bems, Poseidon
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> как вывести содержимое таблицы 
:(
    Опции темы
z006
Дата 22.10.2010, 01:12 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 71
Регистрация: 12.6.2009

Репутация: нет
Всего: нет



Добрый день.
давно учил делфу,все забыл начисто,последних лет 6 все пхп да яваскрипт.
стала задача написать приложение,которое будет работать с базой данных на удаленном сервере.база-мускл.
нашел компонент для делфы под это дело Direct MySQL Objects
коннектится,получает данные на ура.стал вопрос за выводом данных в табличном виде.и тут засада.нашел что для этого по-идее подходит компонент dbgrid,но что-то не пойму как мне из моих полученных данных,вида MySQLResult.FieldValueByName('*****') перетянуть данные в дбгрид?
полазив по инету нашел что еще надо ставить компонент datasource,и его указать в dbgrid,а в самом datasource указать тот компонент,который получает у нас данные из базы.но у него список компонентов пуст,а при попытке насильно скормить ему MySQLClient ругается матом.
прошу помощи,объясните пожалуйста,как мне вывести эти данные?
это срочно,первую версию должен был показать вчера(((((
PM MAIL   Вверх
bems
Дата 22.10.2010, 01:31 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Комодератор
Сообщений: 3400
Регистрация: 5.1.2006

Репутация: 18
Всего: 88



Если этот MySQLClient не унаследован от TDataSource ничего не выйдет и придется использовать обычный TStringGrid
Но можно же использовать TSQLQuery + TSQLConnection c Driver = MySQL


--------------------
Обижено школьников: 8
PM MAIL   Вверх
z006
Дата 22.10.2010, 02:06 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 71
Регистрация: 12.6.2009

Репутация: нет
Всего: нет



Цитата(bems @ 22.10.2010,  01:31)
Если этот MySQLClient не унаследован от TDataSource ничего не выйдет и придется использовать обычный TStringGrid

а подвязать никак не выйдет,да?
PM MAIL   Вверх
Dom
Дата 22.10.2010, 07:48 (ссылка) |    (голосов:1) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 121
Регистрация: 7.8.2005

Репутация: 3
Всего: 4



MySQLClient унаследован от TObject.
Проще всего пожалуй выводить таки результаты в StringGrid. Создаешь число колонок по числу полей и выводишь данные построчно как-то так
Код

StringGrid.ColCount := MySQLResult.FieldCount;
MySQLResult.First;
while not MySQLResult.EOF do
begin
  for i := 0 to MySQLResult.FieldCount - 1 do
    StringGrid.Cells[i, MySQLResult.RecNo].FieldValue(i);
  MySQLResult.Next;
end;


Можно еще в первой строке вывести заголовки полей, тогда весь вывод сместится на 1 строку вниз.
Пишу по памяти, поэтому где-то могут быть ошибки в названиях свойств, и еще не помню что означает RecNo, по моему номер текущей записи.
PM MAIL   Вверх
Frees
Дата 22.10.2010, 07:55 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Завсегдатай
Сообщений: 2233
Регистрация: 2.12.2005
Где: Екатеринбург

Репутация: 16
Всего: 54



можно взять компоненты другие ADO или Zeos... и использовать DB контролы (TDBGrid, TDBEdit, ...)


--------------------
Кольцов Виктор Владимирович
PM MAIL ICQ   Вверх
z006
Дата 22.10.2010, 18:33 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 71
Регистрация: 12.6.2009

Репутация: нет
Всего: нет



Dom, ,не могу,к сожалению,поднять репутацию,поэтому просто говорю СПАСИБО!!!!!!!!!!!

код подправил,конечно:

Код

StringGrid1.ColCount := MySQLResult.Fieldscount;
MySQLResult.First;
while not MySQLResult.EOF do
begin
  for i := 0 to MySQLResult.FieldsCount - 1 do
    StringGrid1.Cells[i, MySQLResult.RecNo]:=MySQLResult.FieldValue(i);
  MySQLResult.Next;
end;


теперь такой вопрос,можно-ли возле каждой записи поставить какую-то кнопку?просто надо чтоб возле каждой записи был какой-то баттон,чтоб нажать,и по нему открылась новая форма,с возможностью манипулирования записью.вобщем все это понятно как делать,интересует сама возможность подпихнуть баттоны в StringGrid.он такое позволяет?
PM MAIL   Вверх
Dom
Дата 22.10.2010, 21:39 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 121
Регистрация: 7.8.2005

Репутация: 3
Всего: 4



Да, реально мой код забавный. Хотя бы прочел перед отправкой. Но хорошо, если он смог натолкнуть на нужные мысли.
Спасибо вполне достаточно.

Вопрос про кнопки лучше отдельным топиком. Один топик - один вопрос.
По StringGrid'у не знаю, кажется можно, но не просто. Думаю поиск даже по этому форуму может помочь. Точно такое можно делать в VirtualStringTree. Но если прога нужна на вчера, то времени на освоение компонента может и не быть.
PM MAIL   Вверх
z006
Дата 22.10.2010, 23:42 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 71
Регистрация: 12.6.2009

Репутация: нет
Всего: нет



ага,тему создал.
по поводу "на вчера"-мне удалось до понедельника выкроить время.но в понедельник надо уже показать рабочий вариант.
PM MAIL   Вверх
superVad
Дата 23.10.2010, 01:37 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 735
Регистрация: 6.4.2006
Где: Черкассы, Украина

Репутация: 7
Всего: 15



Лучше бы нормальные компоненты и грид заюзал. Чем эти костыли.
Так с БД не работают.
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Delphi: Для новичков"
SnowyMetalFan
bemsPoseidon
Rrader

Запрещается!

1. Публиковать ссылки на вскрытые компоненты

2. Обсуждать взлом компонентов и делиться вскрытыми компонентами

  • Литературу по Дельфи обсуждаем здесь
  • Действия модераторов можно обсудить здесь
  • С просьбами о написании курсовой, реферата и т.п. обращаться сюда
  • Вопросы по реализации алгоритмов рассматриваются здесь
  • 90% ответов на свои вопросы можно найти в DRKB (Delphi Russian Knowledge Base) - крупнейшем в рунете сборнике материалов по Дельфи


Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Snowy, MetalFan, bems, Poseidon, Rrader.

 
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Delphi: Для новичков | Следующая тема »


 




[ Время генерации скрипта: 0.1608 ]   [ Использовано запросов: 21 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.