Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Как переключиться к другой таблице в БД? смена активной таблицы на другую из спис 
:(
    Опции темы
ZeroCL
  Дата 12.4.2011, 08:44 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



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

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



Доброго времени суток ;-)  столкнулся с такой проблемой... Есть база MySQL там лежат таблицы... На форме в BDGrid отображается активная таблица zTable (FIO)... Как мне сделать, чтоб таблицу из БД можно было выбирать в момент работы программы (подключиться к ней и отобразить в DBGrid) к примеру из ListBox?    

 begin
   ZTable1.Close; 
   ZTable1.Active:=false;
   DataSource1.DataSet.Edit;
   ZTable1.ClearFields;
   ZTable1.TableName:=ListBox1.Items.Text;
   DataSource1.DataSet.Post;
   ZTable1.Open;
   ZTable1.Active:=true;
 end;
Пробовал писать такой код, но вылетает ошибка... 
PM MAIL   Вверх
superVad
Дата 12.4.2011, 10:54 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


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

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



Какая ошибка, в какой строке?

Вот эти 2 строки дублируют друг друга вроде.
Код

  ZTable1.Close; 
  ZTable1.Active:=false;

И эти тоже.
Код

  ZTable1.Open;
  ZTable1.Active:=true;


Вот это зачем?
Код

  DataSource1.DataSet.Edit;
  DataSource1.DataSet.Post;

PM MAIL   Вверх
ZeroCL
Дата 12.4.2011, 11:06 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



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

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



ошибка "EDatabaseError with message 'zTable1: DataSet not in Edit or Insert mode' Process stopped
Код

procedure TForm1.Button3Click(Sender: TObject);
 begin
   ZTable1.Close;
   ZTable1.Active:=false;
   ZTable1.ClearFields;
   ZTable1.TableName:=ListBox1.Items.Text; // В этой строке показывает ошибку 
   ZTable1.Open;
   ZTable1.Active:=true;
 end;
"

я пробывал пойти логическим путем, сделать zTable неактивным, присвоить ему новую_таблицу и вновь активировать... но что-то не работает
PM MAIL   Вверх
Antimol
Дата 13.4.2011, 16:43 (ссылка) |    (голосов:1) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 118
Регистрация: 28.7.2007
Где: Украина, Киев

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



ListBox1.Items.Text; возвратит не совсем то что надо. Для проверки можешь просто вставить код
Код

ShowMessage(ListBox1.Items.Text);

И что же в результате? А в результате весь список "таблиц", который записан в ListBox1, а нам нужно загрузить не весь, а только одну запись. Для этого нужно сделать примерно следующее:

Код

if ListBox1.ItemIndex<>-1 then
begin
   ZTable1.Close;
   ZTable1.ClearFields;
   ZTable1.TableName:=ListBox1.Items[ListBox1.ItemIndex]; 
   ZTable1.Open;
end
else
ShowMessage('Выберите табл. со списка');


Как пользоваться:

1. Загрузить список таблиц в ListBox1 
2. Выбираем в ListBox1 нужную таблицу 
3. Нажать например кнопку, в которой на событии onClick прописан вышеприведенный код



Это сообщение отредактировал(а) Antimol - 13.4.2011, 16:43
--------------------
Лучшее спасибо это "+" к репутации.   Мой блог: ИНФОРМАТИЗАЦИЯ, и mirsovetov.net. Написание программ, исправление ошибок, статьи....
PM MAIL WWW ICQ   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Delphi: Базы данных и репортинг"
Vit
Петрович

Запрещено:

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

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


Обязательно указание:

1. Базы данных (Paradox, Oracle и т.п.)

2. Способа доступа (ADO, BDE и т.д.)


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

FAQ раздела лежит здесь!


Если Вам помогли и атмосфера форума Вам понравилась, то заходите к нам чаще! С уважением, Vit, Петрович.

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


 




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


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

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