2013-04-22 32 views
0

我試圖找出存儲在我的數據庫的選項列,並確保它不會超過它的範圍內的最佳途徑。如何存儲在我的SQL Server數據庫在C#中使用此選項

我的數據庫是將連接到我的C#應用​​程序的SQL Server,此應用程序存儲用戶工資單工作班次並輸出工資總額爲該周/月/ 2週期間總收入的薪資摘要。我有2列,我不知道如何存儲:

1st是選擇每週/每週/每月的工資單的選項,第二個是允許用戶選擇某個班次並存儲,如果它是正常的/一次半/雙倍存儲小時費率。

我想創建停止用戶輸入不正確的數據應用端C#驗證。這是做這件事最簡單的方法,還是在這些情況下有最佳做法?

+1

最佳做法是將驗證數據庫;那裏將是把數據庫中的數據比你的應用程序的其他方式,而SQL Server已爲強制執行的一致性內置功能。使用它們。 – 2013-04-22 16:47:11

回答

1

你可以使用數據庫check constraints或者你可以存儲在另一個表中的有效數據,這將對你的主表的關係,通過約束被強制執行。您可以使用TSQL或通過SSMS中的「數據庫圖」工具設置關係。

查找表是從你的應用程序維護,將工作最好在數據發生了變化。當您事先知道每個可能的值時,檢查約束是適當的。

這裏是一個example ...

USE AdventureWorks ; 
GO 
CREATE TABLE Person.ContactBackup 
(ContactID int) ; 
GO 
ALTER TABLE Person.ContactBackup 
ADD CONSTRAINT FK_ContactBacup_Contact FOREIGN KEY (ContactID) 
    REFERENCES Person.Contact (ContactID) ; 
ALTER TABLE Person.ContactBackup 
DROP CONSTRAINT FK_ContactBacup_Contact ; 
GO 
DROP TABLE Person.ContactBackup ; 

這裏是一個類似question

相關問題