Автор: 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
Скорее всего у вас там рекурсия бесконечная ..