2016-07-27 28 views
1

私はasp.netアプリケーションをビルドします.db用にはTableAdapterを使用します。 選択クエリ制約primary keyTableAdapter例外(結合あり)

SELECT 
    U.empID, 
    U.firstName, 
    U.lastName, 
    R.name AS Role 
FROM 
    USER_T AS U 
INNER JOIN USER_ROLES_T AS UR ON U.empID = UR.empID 
INNER JOIN ROLES_T AS R ON UR.roleID = R.typeID 

empId。従業員には多くのロール属性があり、ロールという名前が付けられています。

UsersTableAdapter usersTableAdapter = new UsersTableAdapter(); 
DataBase.UsersDataTable users = usersTableAdapter.GetUsers(); 

私は例外以下の取得::私は、DBからのユーザデータの要求を実行すると

Controllers.UI.Login.LoginController | System.Data.ConstraintException: は

に失敗しました。

enable制約。 1つ以上の行に、NULLでない、一意の、または外部キー制約に違反する値が含まれています( )。

私はそれが私が理解

28 Roman Ivanov Admin 
    28 Roman Ivanov Developer 

を取得する任意の管理プログラムでリクエストを選択し、要求を実行した場合、これは、この問題を解決し得ることができますどのようにprimary key empId、とどうなりますか?アダプターから主キーを削除するにはどうすればよいですか?

+0

[制約を有効にできませんでした。 1つ以上の行に、null以外の、一意の、または外部キー制約に違反する値が含まれています](http://stackoverflow.com/questions/7026566/failed-to-enable-constraints-one-or-more-rows-contain-値違反 - 非null) –

+0

の合計として、あなたが望む結果は何でしょうか? –

答えて

2

enter image description here

その上に上記の画像、右クリックなどのVisual Studioで開いUsersTableAdapter設計および保存し、キーを削除し、それが完璧に動作します。

+0

しかし、私はそれを行うことはできません、プライマリキーは、顧客のデータベースにあり、私は実行するためのオプションを持っていません – flybox

+0

いいえ、データベースからプライマリキーを削除しませんいいえ、それはアダプタから落ちるだけです –

+0

THX!見つけた! – flybox

関連する問題