Не могу создать отчёт на основе базы данных в C# winforms
Есть база данных, подключённая к форме. В ней есть три таблицы, на основе которых нужно создать отчёт. В отчёте выбирается таблица clients ([Номер клиента], [ФИО клиента], Услуга, [Номер парикмахера], [Пол клиента]), но вместо номера парикмахера необходимо вставить Фамилию парикмахера из таблицы employee ("Код сотрудника", "Фамилия", "Имя", "Отчество" и "Пол"). В итоге у меня есть такой код:
// Выборка данных из таблицы clients и employee
OleDbCommand command = new OleDbCommand("SELECT clients.[Номер клиента], clients.[ФИО клиента], clients.Услуга, employee.[Фамилия], clients.[Пол клиента] FROM clients JOIN employee ON clients.[Номер парикмахмаера] = employee.[Код сотрудника]", oleDbConnection1);
OleDbDataReader reader = command.ExecuteReader();
// Создание нового файла Excel
var excel = new Microsoft.Office.Interop.Excel.Application();
Workbook workbook = excel.Workbooks.Add(Type.Missing);
Worksheet worksheet = (Worksheet)workbook.ActiveSheet;
worksheet.Name = "Отчет";
// Добавление заголовков столбцов в Excel
worksheet.Cells[1, 1] = "Номер клиента";
worksheet.Cells[1, 2] = "ФИО клиента";
worksheet.Cells[1, 3] = "Услуга";
worksheet.Cells[1, 4] = "Фамилия парикмахера";
worksheet.Cells[1, 5] = "Пол";
// Заполнение таблицы данными из базы данных
int row = 2;
while (reader.Read())
{
worksheet.Cells[row, 1] = reader["Номер клиента"].ToString();
worksheet.Cells[row, 2] = reader["ФИО клиента"].ToString();
worksheet.Cells[row, 3] = reader["Услуга"].ToString();
worksheet.Cells[row, 4] = reader["Фамилия"].ToString();
worksheet.Cells[row, 5] = reader["Пол клиента"].ToString();
row++;
}
// Форматирование таблицы
Microsoft.Office.Interop.Excel.Range headerRange = worksheet.Range["A1", "E1"];
headerRange.Font.Bold = true;
headerRange.HorizontalAlignment = Microsoft.Office.Interop.Excel.XlHAlign.xlHAlignCenter;
headerRange.VerticalAlignment = Microsoft.Office.Interop.Excel.XlVAlign.xlVAlignCenter;
Microsoft.Office.Interop.Excel.Range dataRange = worksheet.Range["A2", "E" + (row - 1).ToString()];
dataRange.VerticalAlignment = Microsoft.Office.Interop.Excel.XlVAlign.xlVAlignCenter;
// Получение текущей даты и времени
string dateAndTime = DateTime.Now.ToString("yyyy-MM-ddTHHmmss");
// Сохранение файла Excel на рабочем столе с датой и временем в названии
string desktopPath = Environment.GetFolderPath(Environment.SpecialFolder.Desktop);
string filePath = desktopPath + "\\Report_" + dateAndTime + ".xlsx";
workbook.SaveAs(filePath);
workbook.Close();
excel.Quit();
reader.Close();
MessageBox.Show("Отчёт был успешно создан!");
При выполнении выдаёт ошибку: System.Data.OleDb.OleDbException: "Ошибка синтаксиса в предложении FROM."
Как можно исправить?
Источник: Stack Overflow на русском