2012-03-07 11 views
1

データベースが同じ固有IDを持つレコードをデータベースに挿入しないように、データベースをチェックするステートメントを作成しています。残りのフィールドでは例外がありますが、データベースから取得した値と比較するためにデータベースからデータを取得するのに問題があります。以下は私のコードの例です。一意のID検証クエリ

int EmployeeIDCatched = int.Parse(employeeIDTextBox.Text); 
var EmployeeIDQuery = from EmployeeID in EmployeeDataSet.Employee select EmployeeIDCatched; 
if (EmployeeIDQuery.Equals(EmployeeIDCatched)) 

私は、誰かが私のためにこれを訂正できると思っていました。

データセットは、EmployeeDataSetと呼ばれるテーブルが従業員と呼ばれ、誰もが、私は非常に感謝される手助けができれば、私が探していた行は

EmployeeIDと呼ばれています!

int employeeIDCatched = int.Parse(employeeIDTextBox.Text); 

var matchingEmployee = (from employee in EmployeeDataSet.Employee 
         where employee.ID.Equals(employeeIDCatched) 
         select employee).FirstOrDefault(); 

更新を:わからない私は十分に近い質問を読んでいない場合や、詳細が変更された場合

答えて

1

私はあなたが唯一のヒットをしたいとあなたは従業員オブジェクトが返さたいと仮定しています

int employeeIDCatched = int.Parse(employeeIDTextBox.Text); 

bool hasMatchingEmployee = EmployeeDataSet.Employee.Any(employee => 
    employee.ID.Equals(employeeIDCatched)); 
+0

ありがとうございました! 私はもう一つ問題があります。次のコード部分は動作していないか、最初に動作しませんでした。 if(EmployeeIDQuery.Equals(EmployeeIDCatched)) { ErrorList.Add( "一意のIDが取得されました"); 有効= false; } –

+0

私は 'EmployeeIDQuery'の型を知らないので、' Equals'メソッドが何をしているのか知ることは不可能です。しかし、この問題を別のStackoverflow質問に投稿し、エラーメッセージを提供してください。 –

0

あなたが行が存在するかどうかを確認するためにAnyメソッドを使用することができますが、ここでは単にbool -resultを取得することになりました。

var selectedEmployeeId = int.Parse(employeeIDTextBox.Text); 
if (EmployeeDataSet.Employee.Any(e => e.EmployeeID == selectedEmployeeId))