|
Вопрос # 5 155/ вопрос решён / |
|
Здравствуйте, эксперты! Помогите решить одну проблему. у меня на форме: Combobox, 2 Listbox-a, edit. к программе подсоеденениы 2 базы данных (BD1, BD2). В Edit вводится название новой таблицы которая создается в BD2, таблица состоит из 2 столбов (FIO, Adres). Combobox отображает список таблиц первой базы BD1, все таблицы состояи из 1 столбца (FIO), при выборе опр таблицы в LIstbox1 отображается её содержимое. Сделал кнопку для переноса необходимых строк в Listbox2. Так вот как сделать что бы содержимое LIstbox2 сохранялось в новой таблицы BD2 столбце FIO ????? ПОМОГИТЕ ПЛИЗ!!!!!!!!!
 |
Вопрос задал: Анучин (статус: Посетитель)
Вопрос отправлен: 5 апреля 2011, 13:36
Состояние вопроса: решён, ответов: 1.
|
Ответ #1. Отвечает эксперт: Чернышев
Здравствуйте, Анучин!
если я правильно понял, то на момент переноса строк из Listbox1 в Listbox2, таблица в второй базе уже создана
я бы сделал вот так:
1) пусть Listbox2 отображает данные новой таблицы точно таким же способом, как Listbox1 отображает данные первой таблицы
(создал для заполнения отдельную процедуру под названием filListBox2 без параметров)
2) а на событие нажатия кнопки написал бы вот такую процедуру (см.код ниже)
Два примечания:
- не забывай перед заполнение Listbox2 отчистить его
- ADOCommand должен быть подключен к базе где у тебя находиться новая таблица
Приложение: Переключить в обычный режим- procedure TForm1.ButtonClick(Sender: TObject);
- begin
- ADOCommand.CommandText:='insert into '+Edit.text+' (FIO) values
('+ListBox1.Items[ListBox1.ItemIndex]+')';
- ADOCommand.Execute;
-
- filListBox2;
- end;
 |
Ответ отправил: Чернышев (статус: 1-ый класс)
Время отправки: 5 апреля 2011, 19:17
|
Мини-форум вопроса
Всего сообщений: 11; последнее сообщение — 7 апреля 2011, 16:14; участников в обсуждении: 4.
|
Анучин (статус: Посетитель), 5 апреля 2011, 19:05 [#1]:
большая загвостка состоит в том что, во второй базе таблицы создаются программно и их количество непостоянно, поэтому ADOTable непременить. Для отображения в Combobox, Listbox я использовал ADoConnectio, ADOQuery, а для добовления таблиц ADOCommand
|
|
Мережников Андрей (статус: Абитуриент), 5 апреля 2011, 19:59 [#2]:
Цитата (Анучин):
поэтому ADOTable непременить
а что мешает применить для добавления записи в таблицу ADOCommand?
Ps:Цитата (Анучин):
загвостка
это на каком языке? Правильно - загвоЗДка (производное от слова гвоЗДь).
|
|
Анучин (статус: Посетитель), 5 апреля 2011, 22:53 [#3]:
Чернышев: чёт не получается выдает ошибку: List index out of bounds (-1)- чего делать?((((
|
|
Вадим К (статус: Академик), 5 апреля 2011, 22:55 [#4]:
А почему это AdoTable не применим? имя таблицы указывается в виде строки. Никаких абсолютно проблем.
Хотя AdoCommand будет уместнее.
Галочка "подтверждения прочтения" - вселенское зло.
|
|
Чернышев (статус: 1-ый класс), 5 апреля 2011, 23:18 [#5]:
ты не выбрал строку, которую надо перенести
было бы идеально тогда еще сделать проверку в самом начале события нажатия кнопки
проверять значение ListBox1.ItemIndex
if ListBox1.ItemIndex=-1 then
begin
ShowMessage('Не выбрано ни одной строки');
exit;
end;
|
|
Анучин (статус: Посетитель), 6 апреля 2011, 18:14 [#6]:
Чернышев: тепрь после выбора строки выдает ошибку: Параметр "текст выбранной строки" не имеет значения по умолчанию.
|
|
Чернышев (статус: 1-ый класс), 6 апреля 2011, 20:27 [#7]:
попробуй вот так
ADOCommand.CommandText:='insert into '+Edit.text+' (FIO) values
('''+ListBox1.Items[ListBox1.ItemIndex]+''')';
|
|
Анучин (статус: Посетитель), 6 апреля 2011, 21:02 [#8]:
))))) блин теперь ошибок нету, но в базу все равно ни чего не добавляется
|
|
Мережников Андрей (статус: Абитуриент), 6 апреля 2011, 21:22 [#9]:
Цитата (Анучин):
блин теперь ошибок нету, но в базу все равно ни чего не добавляется
"Ищите и обрящете". Если бы не было ошибок, то все работало бы как надо.
|
|
Анучин (статус: Посетитель), 6 апреля 2011, 21:24 [#10]:
)))ну я имел в виду, что программа запускается и Delphi не выдает ошибку при запуске, а не то что прога работает так как надо!
|
7 апреля 2011, 16:15: Статус вопроса изменён на решённый (изменил автор вопроса — Анучин)
Чтобы оставлять сообщения в мини-форумах, Вы должны авторизироваться на сайте.
|