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

Вниз

не соответствие типа поля и данных (Asdatetime)   Найти похожие ветки 

 
redlord   (2005-08-14 00:09) [0]

всем привет
народ подскажите где ошибка
у меня не получается в в поле тавлицы занести значение времени
(во время выполнения происходит исключение с текстом что поле не соответствует данным)
создается таблица вот таким запросом

begin
shareresurs="create table sharedresurs("+
"ip char(15) not null,"+
"path char(3500) not null,"+
"filename char(3500) not null,"+
"ext char(254) not null,"+
"size int not null,"+
"atribute int not null,"+
"createtime datetime not null,"+
"protokol int not null)";

form1.sqlDataSet1.CommandText:=shareresurs;
form1.sqlDataSet1.ExecSQL(false);
end;

а записывается значение так

s:=datetimetostr(now);
form1.Caption:=s; //exit;
sql:="insert into sharedresurs (ip,path,filename,ext,size,atribute,createtime,protokol) values (:ip,:path,:filename,:ext,:size,:atribute,:createtime,:protokol)";
form1.sqlDataSet1.CommandText:=sql;
...
...
form1.sqlDataSet1.Params.Parambyname("createtime").Asdatetime:= strtodatetime(s);
...

form1.sqlDataSet1.ExecSQL(false);


 
Anatoly Podgoretsky ©   (2005-08-14 00:50) [1]

Ты что БДЕ используешь? Очень плохо.


 
Киря   (2005-08-14 05:18) [2]

попробуй так:
form1.sqlDataSet1.Params.Parambyname("createtime").value:= date;


 
sniknik ©   (2005-08-14 11:21) [3]

> попробуй так:
> ...
и возможно это не поможет...
показанный код совершенно верный (кроме пары мелочей ;) должно работать (в ADO бы сработало и так)
но если там BDE... не поручусь... сменить срочно! ;о)) а не получится сменить (не ранняя стадия узучения/начинания проекта а конец, причем проект такой на который тебе наплевать... добить и бросить (курсовой)) замени параметр даты строковым, строку формируй в формате "yyyymmdd hh:nn:ss" (это и для нормального проекта пойдет, не то что BDE+MSSQL).

(откуда уверенность, что это именно от datetime поля? проверь остальные параметры на соответствие с типами полей, может ты строку в число пихаеш)

мелочи ;о), пара ;о) :
1 в структуре таблици нет ключа...(!!!) а это очень важно, нет поля под "естественный" ключ, введи "искуственный".

2 не то что ключа, индексов нет. может они после и создаются но судя по вопросу нет. значит поиск и т.д. не предусмотрен в этой таблице?

3 > ip char(15) not null IP? лучше представить типом int а строковое представление сделать вычисляемым полем (на клиенте). (будет 4 байта вместо 15. по числовым полям быстрее поиск, сортировки, обьеденения)

4 > path char(3500) not null 3500 символов и во всех записях они полностью заполнены (нехилый путь ;)? не верю. наверняка заполняется меньшее количество, максимальное будет редко. т.что сделай path VarChar(3500) not null
и остальные также.

5 все поля обязательны для заполнения? перебор. имхо. но тут конечно надо по задаче смотреть. (ext это расширение файла? не бывает файлов без расширения? не вообще, вообще бывают ;), у тебя)


 
AlexWlad ©   (2005-08-14 11:54) [4]

А откуда уверенность в том, что текущий формат системы и БД совпадают?
Например в системе - dd.mm.yyyy (German/Russian)
MSSQL - mm/dd/yyyy (English)

Соответственно, если число <=12, то все нормально, а например 24 марта 2005 -> "24.03.2005" для сервера выглядит как 3-е "чего-то" 2005, даже если он примет точку за слэш.

Вариант решения: SET DATEFORMAT "dmy" - для MSSQL или меняй в программе ShortDateFormat.


 
sniknik ©   (2005-08-14 12:12) [5]

> А откуда уверенность в том, что текущий формат системы и БД совпадают?
передается параметром как дататайм
> form1.sqlDataSet1.Params.Parambyname("createtime").Asdatetime:= strtodatetime(s);
тип дататайм это число, от форматов не зависит, т.е. 100% совпадают. (если не считать маленького недоразумения в 2 дня ;о)))

предложенный в sniknik ©   (14.08.05 11:21) [3] строковый формат представления даты -> "yyyymmdd hh:nn:ss" не зависит от локализации, воспринимается mssql сервером однозначно на любой.

нет. если здесь чтото не то, то это только изза BDE. (но еще больше вероятность что там еще чтото в программе глючит/перепутано... ну к примеру строка в 3500 символов это для BDE как нормально? это же строка,а не мемо не блоб...)


 
AlexWlad ©   (2005-08-14 12:42) [6]

Кстати, неплохо-бы привести точное сообщение об ошибке. А то действительно, здесь не телепаты.


 
Anatoly Podgoretsky ©   (2005-08-14 12:45) [7]

sniknik ©   (14.08.05 12:12) [5]
Это для БДЕ не возможно, это не АДО


 
sniknik ©   (2005-08-14 13:22) [8]

Anatoly Podgoretsky ©   (14.08.05 12:45) [7]
ну вот он и глюк а вовсе не дататайм.

(хорошо хоть он структуру таблици привел, полностью. хотя "грешил" именно на передачу дататайма.)


 
redlord   (2005-08-14 22:13) [9]

TO anatoly
чтото я не понял ето чтож получается возможность у компонента есть но пользоватся ей нельзя так чтоли ?


 
Anatoly Podgoretsky ©   (2005-08-14 22:57) [10]

БДЕ не поддерживает все возможности всех серверов.



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

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

Наверх





Память: 0.48 MB
Время: 0.041 c
14-1125134032
Windows
2005-08-27 13:13
2005.09.25
Доработать >>>Соединить и сжать несколько файлов в один.<<<


1-1125850566
hgd
2005-09-04 20:16
2005.09.25
Добавить файл на сервер


14-1125600161
Ego
2005-09-01 22:42
2005.09.25
Для тех, кому нужен профессиональный web-дизан.


1-1125412713
Андрей Молчанов
2005-08-30 18:38
2005.09.25
DrawAnimatedRects


2-1124270115
Pasha L
2005-08-17 13:15
2005.09.25
message





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