Избегать того, чтобы была зарегистрирована дата рождения с настоящим днем

я пытаюсь сделать так, чтобы, зарегистрировав, пациент не позволил делать это, если они выбирают как дата рождения в день, настоящий или следующий за днем даты однако с настоящим днем, у меня есть проблемы, так как я это использую с датой и часом и различие секунд в date time.now, и datetimepicker позволяет, что зарегистрировался пользователь. я объясняюсь. я использую этот код, чтобы подтверждать:

if (dtpfechanacimiento.Value == DateTime.Now)
            {
               MessageBox.Show("La fecha de nacimiento debe ser inferior a la fecha actual: " + DateTime.Now, "Error en la operacion", MessageBoxButtons.OK, MessageBoxIcon.Error);
               return;
            }

однако в debug перемести следующее:

introducir la descripción de la imagen aquí

Поскольку они могут видеть datetime.now и dtpfecha, они не имеют той же стоимости различием секунд и изюма, как я могу предотвращать это

2
задан 02.11.2019, 23:04
1 ответ

Присоединяя в ответы, которые уже они напечатали, важно, чтобы она validaciГіn tambiГ©n он существовал в базе данных для добавочной безопасности, в случае когда имел какой-то груз данных отличным способом.

CREATE TABLE Prueba( FechaNacimiento datetime);

ALTER TABLE Prueba ADD CONSTRAINT CHKFechaNacimiento CHECK ( FechaNacimiento < CAST( GETDATE() AS DATE));

GO
INSERT INTO Prueba VALUES ( GETDATE());
GO
INSERT INTO Prueba VALUES ( GETDATE()-1);
GO
INSERT INTO Prueba VALUES ( '20191104');
GO

SELECT * FROM Prueba;

GO

DROP TABLE Prueba;
0
ответ дан 01.12.2019, 13:01