Я создаю метод, который заполняет некоторые текстовые поля данными, полученными из базы данных Access с использованием табличных адаптеров.
Метод GetCasesWithUserFromCaseId
возвращает один случай с username
, который обнаруживается путем левого соединения моей таблицы дел с таблицей пользователей.
По какой-то причине я получаю исключение NullReferenceException при попытке доступа к объединенным данным (userdata) из таблицы users, но данные из таблицы case работают. Я уверен, что все поля установлены для всех пользователей и всех дел-таблиц.
Если это не сработает, как я тогда получу данные поочередно? Я приложил изображение, показывающее мою простую базу данных.
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();
}
}
![database layout](https://i.stack.imgur.com/eZ6bj.jpg)
![enter image description here](https://i.stack.imgur.com/h1NLO.jpg)