Builder C++ 6.0 + Interbase (клиентское приложение) как?

IBX, FIBPlus, UIB, ADO, .Net и прочее-прочее-прочее, в общем все, что относится к созданию приложений, работающих с InterBase, Firebird и Yaffil - клиент-серверных, трехзвенных, консольных и т.п.

Модератор: kdv

stix-s
Заслуженный разработчик
Сообщения: 557
Зарегистрирован: 13 дек 2005, 11:52

Сообщение stix-s » 01 сен 2006, 06:14

EvilsInterrupt писал(а): Код:
select object, item, value0, data_date
from data
where data_date= (select max(data_date) from data)
Как думаешь, сколько у тебя значений select max(data_date) from data вернет?
сколько у тебя максимальных дат?
EvilsInterrupt писал(а): Вопрос почему RocordCount дает 1, когда выбралось то 210 записей?
Возьми IBExpert и погоняй свой запрос для наглядности.
ЗЫ Кстати про TIBCustomDataSet.FetchAll не пробовал читать?

WildSery
Заслуженный разработчик
Сообщения: 1738
Зарегистрирован: 05 июн 2006, 16:19

Сообщение WildSery » 01 сен 2006, 12:58

"Сколько максимальных дат" вообще тут не при чём, в таблице может быть куча записей на одну дату.
А вот про FetchAll - по делу.

stix-s
Заслуженный разработчик
Сообщения: 557
Зарегистрирован: 13 дек 2005, 11:52

Сообщение stix-s » 04 сен 2006, 06:41

WildSery писал(а):в таблице может быть куча записей на одну дату.
Вот и я про тоже - сколько записей отвечают условию
where data_date= (select max(data_date) from data)
не вижу ведь я таблицу вопрошающего :)

EvilsInterrupt
Сообщения: 66
Зарегистрирован: 29 авг 2006, 10:00

Сообщение EvilsInterrupt » 08 сен 2006, 09:17

Код: Выделить всё

    InterbaseServer = fIni->ReadString("Interbase","server","127.0.0.1");
    InterbasePath = fIni->ReadString("Interbase","path",
                        "C:\\Program Files\\S&T\\Piramida2000\\data\\data.gdb");
    InterbaseUser = fIni->ReadString("Interbase","user","sysadmin");
    InterbasePassword = fIni->ReadString("Interbase","password","bestpassword");
  frmMain->IBDatabase->DatabaseName = InterbaseServer;
  frmMain->IBDatabase->DatabaseName += ":";
  frmMain->IBDatabase->DatabaseName += InterbasePath;
  frmMain->IBDatabase->Params->Clear();
  frmMain->IBDatabase->Params->Add("user_name="+InterbaseUser);
  frmMain->IBDatabase->Params->Add("password="+InterbasePassword+"\n");
  frmMain->IBDatabase->Params->Add("lc_ctype=WIN1251");

  frmMain->IBDatabase->Connected = true;
На последней строчке возникает исключение под отладкой Билдера 6.0 :(

С текстом: Operation cancelled at user`s request

Нюанс:
Главное когда не программе а в настройках компонента TIBDataBase ковыряюсь test проходит!

Просьба:
Может кто подскажет что глянуть, чтобы соединилось именно программным способом, т.к. мне парметры из *.ini файла надо брать!

ud
Сообщения: 9
Зарегистрирован: 01 сен 2006, 11:15

Сообщение ud » 08 сен 2006, 09:21

перед началом программных манипуляций:

Код: Выделить всё

frmMain->IBDatabase->Connected = false;

EvilsInterrupt
Сообщения: 66
Зарегистрирован: 29 авг 2006, 10:00

Сообщение EvilsInterrupt » 08 сен 2006, 09:30

Нет не помогло

kdv
Forum Admin
Сообщения: 6595
Зарегистрирован: 25 окт 2004, 18:07

Сообщение kdv » 08 сен 2006, 10:16

С текстом: Operation cancelled at user`s request
у тебя на клиенте файл msg не от того сервера.

кроме того - вот это что?

frmMain->IBDatabase->Params->Add("password="+InterbasePassword+"\n");

hvlad
Разработчик Firebird
Сообщения: 1244
Зарегистрирован: 21 мар 2005, 10:48

Сообщение hvlad » 08 сен 2006, 10:20

LoginPrompt = false;

скока можно об одни и те же грабли ?

kdv
Forum Admin
Сообщения: 6595
Зарегистрирован: 25 окт 2004, 18:07

Сообщение kdv » 08 сен 2006, 10:21

мда. короче, начинающие изверги, читайте
http://www.ibase.ru/devinfo/ibx.htm#ibdatabase

Ответить