Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Delphi программирование > БД в Delphi
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 09.09.2008, 10:34   #1
Tanuska___:)
Пользователь
 
Аватар для Tanuska___:)
 
Регистрация: 22.04.2008
Сообщений: 84
Печаль Как обработать следующую ситуацию?

При сохранении новой записи в таблицу Аксесс я столкнулась с проблемой следующего плана:
у меня поле в таблице имеет тип :Дата/время
вводяться данные через компонент MaskEdit.
Заношу данные :
ADOTable2.FieldByName('DataIspolnen ').Value:=MaskEdit5.Text;
но если пользователь не ввел ничего в поле MaskEdit5 , то возникает ошибка конвертации String в Date.
Если вам не сложно, пришлите ответ, как можно обойти эту ситуацию,
или если точнее как можно сделать следующее
при условии того что в поле не ввели информацию , то и в таблицу в донное поле ничего не заноситься...
Tanuska___:) вне форума Ответить с цитированием
Старый 09.09.2008, 10:54   #2
MAcK
Форумчанин
 
Регистрация: 09.11.2006
Сообщений: 274
По умолчанию

if Trim(Maskedit.text) = '' then
ничего не ввели
esle
что-то ввели
Единственный приличный формат, разработанный Microsoft'ом, - format c:
MAcK вне форума Ответить с цитированием
Старый 09.09.2008, 10:57   #3
Andrei
Форумчанин
 
Регистрация: 20.06.2007
Сообщений: 270
По умолчанию

Можно воспользоваться для конвертации даты функцией TryStrToDateTime из модуля SysUtils она конвертирует строку с датой/временем в TDateTime. В случае неудачи возвращает False. И по результатам конвертации решать заносить или не заносить значение в поле.

PS: Это к тому же позволит отловить случаи когда пользователь ввел в строку значения не соответствующие реальным значениям дата/время.
-Кукушка, кукушка! Накукуй мне сто лет!
-А накукуй тебе столько?

(с) Библия. Вольный перевод с древнееврейского.

Последний раз редактировалось Andrei; 09.09.2008 в 11:18. Причина: Постскриптум
Andrei вне форума Ответить с цитированием
Старый 09.09.2008, 12:21   #4
Tanuska___:)
Пользователь
 
Аватар для Tanuska___:)
 
Регистрация: 22.04.2008
Сообщений: 84
По умолчанию

а можно пример какой нибудь с применением функции TryStrToDateTime . Пожалусто...
Tanuska___:) вне форума Ответить с цитированием
Старый 09.09.2008, 12:42   #5
MAcK
Форумчанин
 
Регистрация: 09.11.2006
Сообщений: 274
По умолчанию

unit Unit1;

interface

uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls;

type
TForm1 = class(TForm)
Edit1: TEdit;
procedure FormCreate(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;

var
Form1: TForm1;

implementation

{$R *.dfm}

procedure TForm1.FormCreate(Sender: TObject);
var
d: TDateTime;
begin

if TryStrToDateTime(Edit1.Text, d) then \\ в d находится дата с едита
есть корректная дата
else
что-то другое, но не дата

end;

end.
Единственный приличный формат, разработанный Microsoft'ом, - format c:
MAcK вне форума Ответить с цитированием
Старый 09.09.2008, 12:47   #6
Tanuska___:)
Пользователь
 
Аватар для Tanuska___:)
 
Регистрация: 22.04.2008
Сообщений: 84
По умолчанию

Спасибо огромное ))))
Tanuska___:) вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
На чем целесообразнее решить следующую задачу? Stilet Свободное общение 4 01.08.2008 09:35
Перемещение указателя на следующую запись Avalonix БД в Delphi 6 31.05.2008 11:13
Как обработать исключение? XPAiN БД в Delphi 9 16.05.2008 15:09
Помогите решить одну ситуацию Dexic Помощь студентам 2 26.06.2007 09:06
Блин,пацаны помогите,нужна помощь,попал в тяжёлую ситуацию!!! steck Свободное общение 4 26.05.2007 08:28