Версия для печати темы

Нажмите сюда для просмотра этой темы в обычном формате

Форум программистов _ Delphi - Базы данных _ Проблема с программой

Автор: Djarlax 25:04:2008, 09:22

У меня такая проблема, делаю программу для переноса данных из таблицы формата dbf в таблицу
на MySQL сервере.
Подключаюсь к таблицам, для проверки помещаю на форму компоненты DBGrid, всё нормально,
таблицы отображаются. Пишу процедуру:

Код
procedure TForm1.Button3Click(Sender: TObject);
var i: integer;
begin
Table1.Active:=true;
ZConnection1.Connected:=true;
ZTable1.Active:=true;
Table1.First;
while not Table1.Eof do
begin
   ZTable1.Insert;
     for i:=0 to Table1.Fields.Count-1 do
       begin
         ZTable1.FieldByName(Table1.FieldDefs[i].Name).Value := Table1.Fields[i].Value;
       end;
    ZTable1.Post;
    Application.ProcessMessages;
    Table1.Next;
    end;
Table1.Active:=false;
ZTable1.Active:=false;
ZConnection1.Connected:=false;
end;

Запускаю программу, ошибки не выдаёт, в DBGrid если не закрывать соединение в ходе выполнения программы
отображается таблица с новыми значениями из таблицы dbf , но после закрытия данные
исчезают. Захожу на MySQL сервер, таблица не изменилась, данные не переносятся.
Подскажите в чём ошибка? Может в компонентах какие параметры поменять или дописать что-то нужно,
чтобы данные сохранялись?

Автор: sax_ol 25:04:2008, 09:31

Цитата(Djarlax @ 25:04:2008 - 11:22) *
формата dbf
Нету такого формата.
Цитата(Djarlax @ 25:04:2008 - 11:22) *
ZTable1
Не в курсе, но может там надо транзакцию завершить, смотрите у ZConnection1, есть что нибудь такое ...
Цитата(Djarlax @ 25:04:2008 - 11:22) *
ZTable1 Table1
Это не самое лучьшее решение.

Автор: Djarlax 27:04:2008, 14:17

Подскажите как избавиться от возникновения ошибки "Переполнение стека", возникает она у меня когда я нажимаю на полосу прокрутки в компоненте DBGrid, в который выводится таблица, сформированная SQL запросом.

Автор: sax_ol 28:04:2008, 05:15

Скорее всего у вас там рекурсия бесконечная ..

Русская версия Invision Power Board (http://www.nulled.ws)
© Invision Power Services (http://www.nulled.ws)