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 17:32:00) [21]

Danilka
а так ShowMessage(Format('INSERT INTO Report VALUES(%s,%s,%s,%s)', ['"TEST1"', '"TEST2"', '"TEST3"', '"TEST4"']));

8)

а что надо через параметры я поимаю просто, уже как только не делал, всё одно :  DBX Error: No Mapping for Error Code Found


Danilka   (2004-04-27 17:31:00) [22]

[22] Johnmen ©   (27.04.04 17:28)
тоже использовал двойные кавычки для строк? и все работает? хм..


Johnmen   (2004-04-27 17:28:00) [23]

>UE

Я не поленился и попробовал указанный код. ВСЁ РАБОТАЕТ !


Danilka   (2004-04-27 17:26:00) [24]

а вапще, неправильно это. а через параметры правильно. :))


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

showmessage(Format('INSERT INTO Report VALUES(%s,%s,%s,%s)', ['TEST1', 'TEST2', 'TEST3', 'TEST4']));
что вернет?
:))
уверен, что совсем не:

INSERT INTO Report VALUES('TEST1','TEST2','TEST3','TEST4')

:))


UE   (2004-04-27 17:24:00) [26]

юзал и диалект 1 и диалект 3
роли нет
всё равно непашет напямую через  TSQLConnection, только через СlientDataSet


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

>у есть TSQLConnection.Params, есть ErrorResourceFile= , а что с ним делать?

Ничего...


Johnmen   (2004-04-27 17:21:00) [28]

Проверь соответствие диалекта при подключении и роль, если есть.

А так ошибок нет. Всё должно работать.


UE   (2004-04-27 17:09:00) [29]

и всё это тоже херня
делал и
Connection := TSQLConnection.Create(nil);
...
Connection.ExecuteDirect('INSERT INTO Report (RVERSION, RHOST, RUSER, RLOCATION) VALUES("TEST1","TEST2","TEST3","TEST4")');

тоже DBX Error: No Mapping for Error Code Found

а если втыкать DataSetProvider и ClientDataSet, то через ClientDataSet.CommandText всё работает

у есть TSQLConnection.Params, есть ErrorResourceFile= , а что с ним делать?


UE   (2004-04-27 16:53:00) [30]

Johnmen
...
да, CommandText := 'INSERT INTO Report (RVERSION, RHOST, RUSER, RLOCATION) VALUES("TEST1","TEST2","TEST3","TEST4")'; всё VARCHAR
да,
да,
да, втыкал (ServerCharSet=WIN1251)


Johnmen   (2004-04-27 16:32:00) [31]

>UE  

Так...
Уверен, что последовательность, типы и размеры значений совпадают с последовательностью, типами и размерами соотв.полей ?
Существует ли таблица ?
Есть ли права на вставку ?
Соотвествует ли character set ?
...


Соловьев   (2004-04-27 16:31:00) [32]


> UE   (27.04.04 16:29) [11]

как раз нравится


UE   (2004-04-27 16:31:00) [33]

IBX - не хочу использовать

Хочу использовать dbExpress


UE   (2004-04-27 16:29:00) [34]

Соловьев, а что тебе в этом:

Format('INSERT INTO Report VALUES(%s,%s,%s,%s)', ['TEST1', 'TEST2', 'TEST3', 'TEST4']);

ненравится?


Соловьев   (2004-04-27 16:10:00) [35]


> UE   (27.04.04 16:08) [8]

я о другом писал
Format('INSERT INTO Report VALUES(%s,%s,%s,%s)', ['TEST1', 'TEST2', 'TEST3', 'TEST4']);


Соловьев   (2004-04-27 16:09:00) [36]


> DataSet.Free;
>  Connection.Free;

это вообще-то тоже надо занести после except
И почему ты не работаешь через IBX?


UE   (2004-04-27 16:08:00) [37]

ну написал
with DataSet do begin
  SQLConnection := Connection;
  CommandText := 'INSERT INTO Report VALUES("TEST","TEST","TEST","TEST")';
    ExecSQL;

таже ошибка:
DBX Error: No Mapping for Error Code Found


Соловьев   (2004-04-27 16:05:00) [38]


> UE   (27.04.04 16:03) [5]

попробуй убрать "


Johnmen   (2004-04-27 16:05:00) [39]

>UE   (27.04.04 16:02) [4]
>Johnmen смеёшся что ли?
>а E.Message что по твоему?

Ну как знаешь...


UE   (2004-04-27 16:03:00) [40]

Соловьев, просто


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

Наверх

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