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

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

DBExpress -> TSQLConnection -> DBX Error: ... [D7, IB6.x]


Страницы:   1 2 3

UE ©   (2004-04-27 14:38:00) 


Uses ... DBXpress, SqlExpr, ...;

...

procedure PostData;
var
 Connection: TSQLConnection;
 DataSet: TSQLDataSet;
begin
 Connection := TSQLConnection.Create(nil);
 with Connection do begin
   ConnectionName := 'AIDADB';
   DriverName := 'INTERBASE';
   LibraryName := 'dbexpint.dll';
   VendorLib := 'GDS32.DLL';
   GetDriverFunc := 'getSQLDriverINTERBASE';
   Params.Add('User_Name=SYSDBA');
   Params.Add('Password=masterkey');
   Params.Add('Database=localhost:C:\db0\AIDALOG.GDB');
   LoginPrompt := False;
   Open;
 end;
 DataSet := TSQLDataSet.Create(nil);
 with DataSet do begin
   SQLConnection := Connection;
   CommandText := Format('INSERT INTO Report VALUES("%s","%s","%s","%s")', ['TEST1', 'TEST2', 'TEST3', 'TEST4']);
   try
     ExecSQL;
   except
     on E: Exception do begin
       writeln(E.Message);
     end;
   end;
 end;
 Connection.Close;
 DataSet.Free;
 Connection.Free;
end;


выполняю, получаю:
E.Message = DBX Error: No Mapping for Error Code Found

что с этим делать?


UE   (2004-04-27 19:28:00) [1]

Снёс D8 заработало! 8)


UE   (2004-04-27 19:04:00) [2]

YurikGl
thx!
обязательно воспользуюсь данным советом


YurikGl   (2004-04-27 18:44:00) [3]

Если чем поможет, то сам я работаю на D7+dbExpress+IB. Добавление записи делаю так. В базе для каждой таблицы прописано по процедуре добавления новой записи у которых  входными параметрами являются значения полей новой записи, а выходным параметром является сгенерированный ID. При необходимости добавить новую запись в таблицу, я вызываю с помощью StoredProc нужную процедуру потом, при необходимости, позиционирую курсор на полученный ID-к.


UE   (2004-04-27 18:34:00) [4]

в VMWare где только D7 установленна
ExecuteDirect нормально срабатывает
Каким же макаром D8 может повлиять на dbExpress в D7?


YurikGl   (2004-04-27 18:32:00) [5]

No Idea :(


UE   (2004-04-27 18:22:00) [6]

YurikGl в курсах, я вообще-то про SQLConnection, SQLDataSet - это так - частность


YurikGl   (2004-04-27 18:16:00) [7]

SQLDataSet.CommandType:=ctQuery, но он таков по умолчанию, насколько я помню.


UE   (2004-04-27 18:04:00) [8]

YurikGl
Какой CommandType? Где? В SQLConnection?
Create(self) в .dpr особо не напишешь 8)


YurikGl   (2004-04-27 18:02:00) [9]

Может CommandType надо заранее прописать?
Сам постоянно делаю подобные вещи через DBExpress. Единственное различие, - при Create говорю self.


UE   (2004-04-27 17:54:00) [10]

YurikGl
нет, Danilka правильно говорит, ошибка раньше происходит именно при Exec, просто Connected:=true срабатывает нормально,
TSQLConnection.GetTableNames - возвращает названия таблиц


YurikGl   (2004-04-27 17:50:00) [11]

UE, ошибку прога выдает, а запись, то добавляет или нет?


UE   (2004-04-27 17:49:00) [12]

из  IBExpert  всё пашет


UE   (2004-04-27 17:48:00) [13]

В доке по этому поводу нулём, в инете то же ничего ненашёл пока


UE   (2004-04-27 17:47:00) [14]

почему же тогда через СlientDataSet всё пашет?


YurikGl   (2004-04-27 17:42:00) [15]

"No Mapping for Error Code Found"
Если я чуть-чуть понимаю английский, то он написал, что у него нет описания для этой ошибки с этим кодом.


Danilka   (2004-04-27 17:40:00) [16]

хм, действительно, если-бы была проблема с синтаксисом, то ошибка была-бы соответсвующая, но, похоже, до сервака дело не доходит, раз ошибка: DBX Error, то-есть, ошибка компонент доступа.
А вообще, какие-нибудь другие запросы до сервака доходят?
А в документашке, что про ошибку: "No Mapping for Error Code Found" написано? а то у меня и dbexpress тоже нету :)


YurikGl   (2004-04-27 17:38:00) [17]

Попробуй запусти этот запрос из других программ типа SQLExplorer или IBExpert. Может они что скажут.


Johnmen   (2004-04-27 17:34:00) [18]

>Danilka ©   (27.04.04 17:31) [23]

Всё соответствующе. И кавычки.
Кстати, двойные - это нормально. Но можно и одинарные..


UE   (2004-04-27 17:34:00) [19]

Johnmen - у тебя работает
мля, значит у меня чёто с dbexpress

судя по всему Delphi8  делает нехорошие вещи с установленной D7
8(


Danilka   (2004-04-27 17:32:00) [20]

жаль под рукой IB нет чтобы проверить, я-то, наивный, думал что строки нада в одинарных кавычках писать..


Страницы:   1 2 3

Наверх

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