Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Data provider or other service returned an E_FAIL status [D6, Cache]


Abadonne ©   (2007-11-24 17:12:00) 

Покопался по форуму ответов не нашёл...
в нете, то ж не густо советов по этому поводу

Есть следующий
Код:

... ADOConnection1:= DBDM.ADOConnection; ADODataSet1.Connection:= ADOConnection1; ADODataSet1.CommandType:= cmdTable; ADODataSet1.CommandText:= 'table1'; АDOConnection1.Connected := true; ADOConnection1.Open; ADODataSet1.Open; ... ADODataSet1.Append; ADODataSet1.FieldValues['XXX'] := Excel.ActiveSheet.Cells.Item[i, 6].Value; ADODataSet1.FieldValues['YYY'] := Excel.ActiveSheet.Cells.Item[i, 6].Value; ADODataSet1.FieldValues['ZZZ'] := g; ADODataSet1.FieldValues['KKK'] := k; ADODataSet1.FieldValues['TTT'] := 2; //ну и так далее ещё с 10 полей //просто проверка есть ли что писать в базу и можно ли if (not ADODataSet1.Active) or (ADODataSet1.IsEmpty) Then Exit; ADODataSet1.Post; //вроде как должно писать в базу ...


Вообщем-то в своё время, когда - то давно, подобный код у меня работал на ура, теперь же, в тот момент года доходит до строчки с постом ( ADODataSet1.Post; ) имеем ошибку: "Data provider or other service returned an E_FAIL status". Чего с этим делать понятия не имею.

ADOConnection1 и ADODataSet1 компонентки ADO
С базой коннект есть, ибо буквально за 10 строк до этого получаю ИДишник:

Код:

ADQ:=TADOQuery.Create(nil); ADQ.Connection:=ADOConnection1; ADQ.SQL.Text:='SELECT Nextval(''TTT') as KK FROM DUAL'; ADQ.Open; ADQ.Next; k:=ADQ.Fields.FieldByName('KK').AsInteger; ADQ.Close;

Да... База Cache, хотя особого значения этьо не имеет, всё равно соединение идёт через ODBC.


Abadonne   (2007-11-24 17:45:00) [1]

Из хелпа (TADOCommand.CommandText):

Use CommandText to specify the command to execute using the ADO command component. CommandText is a textual representation of the command such as an SQL statement, a table name, or the name of a stored procedure to execute.


Abadonne   (2007-11-24 17:41:00) [2]

Хм...
Стоит на FormCreate. Ни малейшим боком не ругается.
Прикрасно работало на другом проекте и другой базе :)


Anatoly Podgoretsky   (2007-11-24 17:31:00) [3]

> Abadonne  (24.11.2007 17:12:00)  [0]

Врешь, такой код никогда не работал ADODataSet1.CommandText:= 'table1';


Abadonne   (2007-11-24 17:14:00) [4]

Прошу прощения за сложночитаемый код...
Жаль, что на форуме нед предпросмотра...


Наверх

Титульная страница Поиск, карта сайта Написать письмо