![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Ошибка при копировании записи. [D6, Access]
NickMan © (2005-07-22 13:32:00)Хочу скопировать записи из одной базы в другую в другою.
Таблицы абсолютно идентичны.
Почему выдает ошибку «Invalid variant type conversion»?
AdoTable1.First;
AdoTable2.First;
While not (adotable1.Eof) do
Begin
ADOTable2.AppendRecord([adotable1.Fields[1].AsVariant,
adotable1.Fields[2].AsVariant,NewData]);
End;
alex_*** (2005-07-22 17:20:00) [1]INSERT INTO ... SELECT ... FROM ..
Johnmen (2005-07-22 16:36:00) [2]А-а-а... Те же проблемы, что и
http://www.delphimaster.ru/cgi-bin/forum.pl?id=1122018110&n=1
см. пост №1, второе предложение.
msguns (2005-07-22 16:36:00) [3]Тебе люди-то правильно говорят: не строй заборы из всех этих adotable.Fields.AsString, а сделай в цикле запрос на вставку и выполни его.
NickMan (2005-07-22 16:31:00) [4]Нашел в чем дело :
ADOTable2.AppendRecord([ adotable1.Fields[0].AsVariant,adotable1.Fields[1].AsVariant,
adotable1.Fields[2].AsVariant,adotable1.Fields[3].AsVariant]);
Digitman (2005-07-22 16:14:00) [5]
> NickMan (22.07.05 16:07) [11]
врешь.
пока ты не толкнул эту строчку на пошаговое выполнение, исключения ты не получишь.
зато будешь как минимум иметь возможность просмотреть типы и значения всех вариантов, участвующих параметрами в этой строчке.
NickMan (2005-07-22 16:07:00) [6]Ну а что встроенный отладчик?
вываливает Debuger exception notification на строчке ADOTable2.AppendRecord и все.
Digitman (2005-07-22 15:55:00) [7]
> NickMan (22.07.05 15:33) [9]
встроенный отладчик - он для Пушкина был писан ?
NickMan (2005-07-22 15:33:00) [8]>> имеем ввиду, что ты лукавишь насчет "Таблицы абсолютно идентичны"
я просто сделал копию базы, и в аксесе удалил все записи.
>> Ну не только это, но и ВСЕ ПОЛЯ, а в коде одно поле.
Ну на самом деле там 35 полей, я просто не переписывал всю комманду Append чтобы бы форум не загромождать. Но даже когда я для теста оставил три все равно не работает.
Anatoly Podgoretsky (2005-07-22 14:50:00) [9]Ну не только это, но и ВСЕ ПОЛЯ, а в коде одно поле.
Digitman (2005-07-22 14:46:00) [10]
> Или вы что-то другое имеете ввиду?
имеем ввиду, что ты лукавишь насчет "Таблицы абсолютно идентичны"
NickMan (2005-07-22 14:01:00) [11]Все поля текстовые.
Или вы что-то другое имеете ввиду?
Anatoly Podgoretsky (2005-07-22 13:58:00) [12]Очень долго будем распрашивать про структуру таблиц.
NickMan (2005-07-22 13:50:00) [13]так тоже не работает
ADOTable2.AppendRecord([adotable1.Fields[1].AsVariant,
adotable1.Fields[2].AsVariant,adotable1.Fields[3].AsVariant]);
alex_*** (2005-07-22 13:49:00) [14]запросом перекидывай
NickMan (2005-07-22 13:46:00) [15]>> а это зачем ?
убрал.
>> это что такое ?
var
newdata: string
...
newdata:=RestString(adotable1.Fields[3].Text);
где RestString -
function RestString(a: string) : string;
тип у третьего поля текстовый
Digitman (2005-07-22 13:38:00) [16]
> AdoTable2.First;
а это зачем ?
> NewData
это что такое ? откуда взялось, как объявлено, где и как иниц-ся ?