Главная страница
    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.049 c
1-1096560712
Cosinus
2004-09-30 20:11
2004.10.17
Переопределение DrawCell в StringGrid... Запутался совсем...


4-1094205188
TankMan
2004-09-03 13:53
2004.10.17
Как определить оборудование?


3-1095452204
BigError
2004-09-18 00:16
2004.10.17
Запуск двух MySQL под Windows XP.


14-1096261328
Ihor Osov'yak
2004-09-27 09:02
2004.10.17
XP + 160 GB = PIO ?


4-1095341999
AZiN
2004-09-16 17:39
2004.10.17
monitor





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
Английский Французский Немецкий Итальянский Португальский Русский Испанский