FieldDatabase
Содержание
[
Скрывать
]
FieldDatabase class
Реализует поле DATABASE.
public class FieldDatabase : Field
Конструкторы
Имя | Описание |
---|---|
FieldDatabase() | Конструктор по умолчанию. |
Характеристики
Имя | Описание |
---|---|
Connection { get; set; } | Получает или устанавливает подключение к данным. |
DisplayResult { get; } | Получает текст, представляющий результат отображаемого поля. |
End { get; } | Получает узел, представляющий конец поля. |
FileName { get; set; } | Получает или задает полный путь и имя файла базы данных |
FirstRecord { get; set; } | Получает или задает целочисленный номер первой записи данных для вставки. |
Format { get; } | ПолучаетFieldFormat объект, предоставляющий типизированный доступ к форматированию поля. |
FormatAttributes { get; set; } | Получает или задает, какие атрибуты формата должны применяться к таблице. |
InsertHeadings { get; set; } | Получает или задает, следует ли вставлять имена полей из базы данных в качестве заголовков столбцов в результирующей таблицы. |
InsertOnceOnMailMerge { get; set; } | Получает или задает, следует ли вставлять данные в начале слияния. |
IsDirty { get; set; } | Получает или устанавливает, является ли текущий результат поля более неверным (устаревшим) из-за других изменений, внесенных в документ. |
IsLocked { get; set; } | Получает или задает, заблокировано ли поле (не следует пересчитывать его результат). |
LastRecord { get; set; } | Получает или задает целочисленный номер последней записи данных для вставки. |
LocaleId { get; set; } | Получает или задает LCID поля. |
Query { get; set; } | Получает или задает набор инструкций SQL, которые запрашивают базу данных. |
Result { get; set; } | Получает или задает текст, который находится между разделителем поля и концом поля. |
Separator { get; } | Получает узел, представляющий разделитель полей. Может быть нулевым. |
Start { get; } | Получает узел, представляющий начало поля. |
TableFormat { get; set; } | Получает или задает формат, который должен применяться к результату запроса к базе данных. |
virtual Type { get; } | Получает тип поля Microsoft Word. |
Методы
Имя | Описание |
---|---|
GetFieldCode() | Возвращает текст между началом поля и разделителем поля (или концом поля, если разделителя нет). Включены как код поля, так и результат поля дочерних полей. |
GetFieldCode(bool) | Возвращает текст между началом поля и разделителем полей (или концом поля, если разделителя нет). |
Remove() | Удаляет поле из документа. Возвращает узел сразу после поля. Если конец поля является последним child его родительского узла, возвращает его родительский абзац. Если поле уже удалено, возвращает нулевой . |
Unlink() | Выполняет развязку поля. |
Update() | Выполняет обновление поля. Выдает, если поле уже обновляется. |
Update(bool) | Выполняет обновление поля. Выдает, если поле уже обновляется. |
Примечания
Вставляет результаты запроса к базе данных в таблицу WordprocessingML.
Примеры
Показывает, как извлечь данные из базы данных и вставить их как поле в документ.
Document doc = new Document();
DocumentBuilder builder = new DocumentBuilder(doc);
// Это поле DATABASE будет запускать запрос к базе данных и отображать результат в таблице.
FieldDatabase field = (FieldDatabase)builder.InsertField(FieldType.FieldDatabase, true);
field.FileName = MyDir + @"Database\Northwind.mdb";
field.Connection = "DSN=MS Access Databases";
field.Query = "SELECT * FROM [Products]";
Assert.AreEqual($" DATABASE \\d \"{DatabaseDir.Replace("\\", "\\\\") + "Northwind.mdb"}\" \\c \"DSN=MS Access Databases\" \\s \"SELECT * FROM [Products]\"",
field.GetFieldCode());
// Вставьте еще одно поле DATABASE с более сложным запросом, который сортирует все продукты в порядке убывания по валовым продажам.
field = (FieldDatabase)builder.InsertField(FieldType.FieldDatabase, true);
field.FileName = MyDir + @"Database\Northwind.mdb";
field.Connection = "DSN=MS Access Databases";
field.Query =
"SELECT [Products].ProductName, FORMAT(SUM([Order Details].UnitPrice * (1 - [Order Details].Discount) * [Order Details].Quantity), 'Currency') AS GrossSales " +
"FROM([Products] " +
"LEFT JOIN[Order Details] ON[Products].[ProductID] = [Order Details].[ProductID]) " +
"GROUP BY[Products].ProductName " +
"ORDER BY SUM([Order Details].UnitPrice* (1 - [Order Details].Discount) * [Order Details].Quantity) DESC";
// Эти свойства имеют ту же функцию, что и предложения LIMIT и TOP.
// Настройте их для отображения только строк с 1 по 10 результата запроса в таблице поля.
field.FirstRecord = "1";
field.LastRecord = "10";
// Это свойство является индексом формата, который мы хотим использовать для нашей таблицы. Список форматов таблиц находится в меню "Автоформат таблицы..."
// это появляется, когда мы создаем поле DATABASE в Microsoft Word. Индекс №10 соответствует формату «Красочный 3».
field.TableFormat = "10";
// Свойство FormatAttribute представляет собой строковое представление целого числа, которое хранит несколько флагов.
// Мы можем по-отечески применить формат, на который указывает свойство TableFormat, установив в этом свойстве разные флаги.
// Число, которое мы используем, является суммой комбинации значений, соответствующих различным аспектам стиля таблицы.
// 63 представляет 1 (границы) + 2 (затенение) + 4 (шрифт) + 8 (цвет) + 16 (автоподгонка) + 32 (строки заголовков).
field.FormatAttributes = "63";
field.InsertHeadings = true;
field.InsertOnceOnMailMerge = true;
doc.UpdateFields();
doc.Save(ArtifactsDir + "Field.DATABASE.docx");
Смотрите также
- class Field
- пространство имен Aspose.Words.Fields
- сборка Aspose.Words