4

我知道一点 MVC,但我想先用 DataBase 开发 MVC。我想知道一件事。我在网上看到一张这样的表:

CREATE TABLE dbo.Payroll 
    (
     ID int PRIMARY KEY, 
     PositionID INT, 
     Salary decimal(9,2),
     SalaryType nvarchar(10),  
     CHECK  (Salary > 10.00 and Salary < 150000.00) 
    );

我想知道 CHECK 元素是否会导致我的 webSite 中的数据验证。

提前谢谢

4

2 回答 2

2

不,它不会自动在您的网站上添加验证。它将对数据库强制执行该约束,如果用户输入超出该范围的值,它将“崩溃”。

您仍然应该在客户端添加验证,以防止来自数据库的未处理错误。

于 2013-01-31T22:56:57.733 回答
1

验证不会在 Web 应用程序/站点中完成,而是在数据库中完成。就像 UNIQUE 或 FOREIGN KEY 约束一样,如果违反该约束,它将引发错误/异常

看到这个小提琴:http ://sqlfiddle.com/#!3/ede45 - 删除最后一行中的注释,看看它如何违反约束并抛出错误 - 如果不处理,用户将看到。您需要在此类条目进入数据库之前对其进行处理,并且约束只是双重检查或交叉检查

于 2013-01-31T22:59:41.340 回答