Моя база данных выглядит следующим образом:
лицо
Animal
- AnimalID
- PersonID
- PetName
Я пытаюсь экспортировать своих людей и связанных с ними животных в PDF.
* * 1 022 Пример: * 1 023 *
Джон Доу:
Боб:
(животные могут быть связаны с одним и тем же лицом).
У меня проблема с модулем экспорта iTextSharp в PDF, поскольку мне не удалось найти случаи, когда обрабатывается принцип объединения.
Теперь я могу без проблем экспортировать своих людей, извлекая их из SQL и помещая в DataTable
, который я реализую следующим образом:
DataTable dt = getPersons();
iTextSharp.text.Document document = new iTextSharp.text.Document();
PdfWriter writer = PdfWriter.GetInstance(document, new FileStream("C:\\sample.pdf", FileMode.Create));
document.Open();
table.SetWidths(widths);
table.WidthPercentage = 100;
int iCol = 0;
string colname = "";
PdfPCell cell = new PdfPCell(new Phrase("Persons:"));
cell.Colspan = dt.Columns.Count;
foreach (DataColumn c in dt.Columns)
{
table.AddCell(new Phrase(c.ColumnName, font5));
}
foreach (DataRow r in dt.Rows)
{
if (dt.Rows.Count > 0)
{
table.AddCell(new Phrase(r[0].ToString(), font5));
table.AddCell(new Phrase(r[1].ToString(), font5));
table.AddCell(new Phrase(r[2].ToString(), font5));
table.AddCell(new Phrase(r[3].ToString(), font5));
}
}
document.Add(table);
document.Close();
Это извлекает людей из моей базы данных (как в «ВЫБОР * ОТ человека»).
Однако, как мне реализовать ссылку с животными (для каждого человека) в моем PDF-файле (используя только операторы SQL, поскольку я делаю это во время выполнения только для предварительного просмотра)?
Нужно ли мне работать с двумя таблицами данных или я могу сделать это по-другому?