Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Базы";
Текущий архив: 2004.10.17;
Скачать: [xml.tar.bz2];

Вниз

Firebird 1.0 спотыкается на TIME   Найти похожие ветки 

 
Nick-From ©   (2004-09-20 14:08) [0]

Есть таблица:

CREATE DOMAIN tid AS INTEGER DEFAULT 0 NOT NULL;
CREATE DOMAIN tstr15 AS VARCHAR(15) DEFAULT "" NOT NULL COLLATE PXW_CYRL;
CREATE DOMAIN tprice AS DOUBLE PRECISION DEFAULT 0 NOT NULL CHECK (VALUE >= 0);
CREATE DOMAIN tdate AS DATE NOT NULL;
CREATE DOMAIN ttime AS TIME NOT NULL;

CREATE TABLE Calls
(
Nrec tid,
cOwner tid,
CallDate tdate,
CallTime ttime,
PhoneNumber tstr15,
CallType tstr15,
CallDirection tstr15,
CallDuration ttime,
CallCost tprice
);

Есть процедура добавления новой записи в таблицу:

CREATE PROCEDURE ADDNEWCALL
(
aNewNrec INTEGER,
aNewcOwner INTEGER,
aNewCallDate DATE,
aNewCallTime TIME,
aNewPhoneNumber VARCHAR(15),
aNewCallType VARCHAR(15),
aNewCallDirection VARCHAR(15),
aNewCallDuration TIME,
aNewCallCost DOUBLE PRECISION
)
AS
BEGIN
 INSERT INTO Calls (Nrec, cOwner, CallDate, CallTime, PhoneNumber, CallType, CallDirection, CallDuration, CallCost) VALUES (:aNewNrec, :aNewcOwner, :aNewCallDate, :aNewCallTime, :aNewPhoneNumber, :aNewCallType, :aNewCallDirection, :aNewCallDuration, :aNewCallCost);
END^

В клиенте описана запись, которую отправляем в процедуру:

 TCallInfo = record
   aCallDate: TDate;
   aCallTime: TTime;
   aPhoneNumber: string;
   aCallType: string;  
   aCallDirection: string;
   aCallDuration: TTime;  
   aCallCost: double;
 end;

Так вот, при вызове процедуры добавления, получаю ошибку:

Incompatible column/host variable data type. Dynamic SQL Error. SQL error code = -303. conversion error from string "0.000694444444444445"
Время, котрое вызывает эту ошибку = 00:01:00 - это его строковое представление.

Причем первое поле такого же типа (CallTime) нормально Обрабатывает. подскажите пожалуйста - в чем проблема?


 
Johnmen ©   (2004-09-20 14:38) [1]

>которую отправляем в процедуру:

Каким образом ?


 
Nick-From ©   (2004-09-20 14:49) [2]

pFIBQuery1.ExecProcedure("ADDNEWCALL",
                              [NewCallsNrec,
                               1,
                               aCIT[i].aCallDate,
                               aCIT[i].aCallTime,
                               aCIT[i].aPhoneNumber,
                               aCIT[i].aCallType,
                               aCIT[i].aCallDirection,
                               aCIT[i].aCallDuration,
                               aCIT[i].aCallCost]);


 
Nick-From ©   (2004-09-20 14:50) [3]

aCIT - TCallInfoTable = array of TCallInfo;


 
Johnmen ©   (2004-09-20 15:06) [4]

Если вместо aCIT[i].aCallDuration поставить "00:01:00" или "11:11:11", то ошибки нет ?


 
Nick-From ©   (2004-09-20 15:20) [5]

Ну да, при "00:01:00" и "11:11:11" все нормуль, в чем беда?


 
Johnmen ©   (2004-09-20 15:26) [6]

Я так подозреваю, что беда в некорректном преобразовании типа. И ошибка эта в FIB+.
Поэтому делай просто FormatDateTime("HH:NN:SS",aCIT[i].aCallDuration). А на досуге, конечно, можно поковыряться в исходниках фибов...:)


 
Nick-From ©   (2004-09-20 15:37) [7]

Да, так работает :), спасибо!



Страницы: 1 вся ветка

Форум: "Базы";
Текущий архив: 2004.10.17;
Скачать: [xml.tar.bz2];

Наверх




Память: 0.46 MB
Время: 0.037 c
8-1090659762
DarkAvenger
2004-07-24 13:02
2004.10.17
тег mp3 файла


6-1092183373
GUEST
2004-08-11 04:16
2004.10.17
Синхронизация времени


14-1096098421
Zlo_van
2004-09-25 11:47
2004.10.17
Немного информации о Делфи 9


1-1096538930
Yuri Btr
2004-09-30 14:08
2004.10.17
Application.Title проблема


6-1092061764
Юрий Ж.
2004-08-09 18:29
2004.10.17
idTCPServer/idTCPClient





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский