![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
TDateTime type и Null [D7]
chir © (2005-01-13 17:34:00)Объект (похожий на DateTimePicker) возвращает дату типа TDateTime.
Как проверить ввел ли пользователь дату или нет? Происходит запись в базу, куда нельзя записывать пустую дату.
chir (2005-01-13 18:39:00) [1]С этим разобрался... надо было использовать не .Date и не .Text,
а .EditValue, который возвращал Null.
спасибо всем
Соловьев (2005-01-13 18:24:00) [2]Происходит запись в базу, куда нельзя записывать пустую дату.
Можно еще ж ловить onPostError - там и проверяй, что за шибка.
sniknik (2005-01-13 18:21:00) [3]chir (13.01.05 18:10) [6]
мне бы ваши проблемы... эх...
т.е. ввести пустое и посмотреть в отладчике что вернуло проблема?
и вообще если настолько неизвестный компонент, стоит ли его использовать?
chir (2005-01-13 18:10:00) [4]> Johnmen
не знаю какое. если бы знал, сделал бы проверку... эх...
Johnmen (2005-01-13 17:58:00) [5]>Объект (похожий на DateTimePicker) возвращает дату типа TDateTime.
Какое значение он зазвращает, если дата не указана?
Соловьев (2005-01-13 17:55:00) [6]взять из EhLib редактор даты
Ega23 (2005-01-13 17:52:00) [7]
procedure TFProfs.btnOkClick(Sender: TObject);
var
ss:String;
ProfID:Integer;
begin
if not FoolProtection then Exit;
...... Update to dataBase
end;
function TFProfs.FoolProtection: Boolean;
var
ss:string;
Code:Integer;
begin
ss:=eProfNam.Text;
if not CheckOnQuotes(ss,Code) then
begin
if eProfNam.CanFocus then eProfNam.SetFocus;
// PassMessage(Handle,'Символ '+eProfNam.Text[Code]+' является зарезервированым '+CRLF+
// ' и не может быть использован',PasMess.capWarning,0);
Exit;
end;
eProfNam.Text:=ss;
ss:=eProfLab.Text;
if not CheckOnQuotes(ss,Code) then
begin
if eProfLab.CanFocus then eProfLab.SetFocus;
// PassMessage(Handle,'Символ '+eProfLab.Text[Code]+' является зарезервированым '+CRLF+
// ' и не может быть использован',PasMess.capWarning,0);
Exit;
end;
eProfLab.Text:=ss;
if eProfNam.Text='' then
begin
PassMessage(Handle,PasMess.wrnNamAbs,PasMess.capWarning,0);
eProfNam.SetFocus;
Result:=False;
Exit;
end;
........
В таком вот виде...
chir (2005-01-13 17:47:00) [8]ну думаю это не выход. пользователь может стереть дату и при обновлении таблицы у меня опять будет ошибка
Ega23 (2005-01-13 17:44:00) [9]Ставить значение по-умолчанию, например - сегодня.