テーブルアダプタを使用してAccessデータベースから取得したデータを一部のテキストボックスに入力するメソッドを作成しています。
このメソッドは、casesテーブルをusersテーブルに左結合することによって検出されGetCasesWithUserFromCaseId
た単一のcaseを返します。username
何らかの理由で、usersテーブルから結合されたデータ(userdata)にアクセスしようとすると、NullReferenceExceptionが発生しますが、casesテーブルのデータは機能します。すべてのフィールドがすべてのユーザーとすべてのケース(テーブル行)に設定されていると確信しています。
これが機能しない場合、どうすればデータを交互に取得できますか?簡単なデータベースを示す画像を添付しました。
sqlステートメント:
SELECT *
FROM cases
LEFT JOIN users ON cases.caseCreatedBy = users.userId
WHERE caseId = caseNum
C#コード:
public void populateBoxes(int caseId)
{
caseDBTableAdapters.casesTableAdapter casesAdapter =
new caseDBTableAdapters.casesTableAdapter();
caseDB.casesDataTable cases;
cases = casesAdapter.GetCasesWithUserFromCaseId(caseId);
foreach (caseDB.casesRow casesRow in cases)
{
tbCaseName.Text = casesRow.caseName;
tbOwner.Text = casesRow.usersRow.firstName.ToString();
}
}