FieldDatabase
İçindekiler
[
Saklamak
]FieldDatabase class
DATABASE alanını uygular.
Daha fazla bilgi edinmek için şu adresi ziyaret edin:Alanlarla Çalışma belgeleme makalesi.
public class FieldDatabase : Field
yapıcılar
İsim | Tanım |
---|---|
FieldDatabase() | Default_Constructor |
Özellikleri
İsim | Tanım |
---|---|
Connection { get; set; } | Verilere bir bağlantı alır veya ayarlar. |
DisplayResult { get; } | Görüntülenen alan sonucunu temsil eden metni alır. |
End { get; } | Alan sonunu temsil eden düğümü alır. |
FileName { get; set; } | Veritabanının tam yolunu ve dosya adını alır veya ayarlar |
FirstRecord { get; set; } | Eklenecek ilk veri kaydının tamsayı kayıt numarasını alır veya ayarlar. |
Format { get; } | Bir tane alırFieldFormat alanın biçimlendirmesine yazılmış erişim sağlayan nesne. |
FormatAttributes { get; set; } | Tabloya hangi format niteliklerinin uygulanacağını alır veya ayarlar. |
InsertHeadings { get; set; } | Alan adlarının veritabanından sütun başlıkları olarak eklenip eklenmeyeceğini alır veya ayarlar. |
InsertOnceOnMailMerge { get; set; } | Bir birleştirmenin başına veri eklenip eklenmeyeceğini alır veya ayarlar. |
IsDirty { get; set; } | Belgede yapılan diğer değişiklikler nedeniyle alanın geçerli sonucunun artık doğru (eski) olup olmadığını alır veya ayarlar. |
IsLocked { get; set; } | Alanın kilitli olup olmadığını alır veya ayarlar (sonucunu yeniden hesaplamamalıdır). |
LastRecord { get; set; } | Eklenecek son veri kaydının tamsayı kayıt numarasını alır veya ayarlar. |
LocaleId { get; set; } | Alanın LCID’sini alır veya ayarlar. |
Query { get; set; } | Veritabanını sorgulayan bir dizi SQL talimatını alır veya ayarlar. |
Result { get; set; } | Alan ayırıcısı ile alan sonu arasındaki metni alır veya ayarlar. |
Separator { get; } | Alan ayırıcısını temsil eden düğümü alır.hükümsüz . |
Start { get; } | Alanın başlangıcını temsil eden düğümü alır. |
TableFormat { get; set; } | Veritabanı sorgusunun sonucuna uygulanacak formatı alır veya ayarlar. |
virtual Type { get; } | Microsoft Word alan türünü alır. |
yöntemler
İsim | Tanım |
---|---|
GetFieldCode() | Alan başlangıcı ile alan ayırıcısı (veya ayırıcı yoksa alan sonu) arasındaki metni döndürür. Hem alan kodu hem de alt alanların alan sonucu dahil edilir. |
GetFieldCode(bool) | Alan başlangıcı ile alan ayırıcısı (veya ayırıcı yoksa alan sonu) arasındaki metni döndürür. |
Remove() | Alanı belgeden kaldırır. Alanın hemen ardından bir düğüm döndürür. Alanın sonu, üst düğümünün son alt ‘siyse, üst paragrafını döndürür. Alan zaten kaldırılmışsa, şunu döndürürhükümsüz . |
Unlink() | Alan bağlantısını kaldırma işlemini gerçekleştirir. |
Update() | Alan güncellemesini gerçekleştirir. Alan zaten güncelleniyorsa fırlatır. |
Update(bool) | Bir alan güncellemesi gerçekleştirir. Alan zaten güncelleniyorsa fırlatır. |
Notlar
Bir veritabanı sorgusunun sonuçlarını bir WordprocessingML tablosuna ekler.
Örnekler
Bir veritabanından verinin nasıl çıkarılacağını ve bir belgeye alan olarak nasıl ekleneceğini gösterir.
Document doc = new Document();
DocumentBuilder builder = new DocumentBuilder(doc);
// Bu DATABASE alanı bir veritabanında sorgu çalıştıracak ve sonucu bir tabloda gösterecektir.
FieldDatabase field = (FieldDatabase)builder.InsertField(FieldType.FieldDatabase, true);
field.FileName = DatabaseDir + "Northwind.accdb";
field.Connection = "Provider=Microsoft.ACE.OLEDB.12.0";
field.Query = "SELECT * FROM [Products]";
Assert.AreEqual($" DATABASE \\d {DatabaseDir.Replace("\\", "\\\\") + "Northwind.accdb"} \\c Provider=Microsoft.ACE.OLEDB.12.0 \\s \"SELECT * FROM [Products]\"", field.GetFieldCode());
// Tüm ürünleri brüt satışlara göre azalan düzende sıralayan daha karmaşık bir sorgu içeren başka bir VERİ TABANI alanı ekleyin.
field = (FieldDatabase)builder.InsertField(FieldType.FieldDatabase, true);
field.FileName = DatabaseDir + "Northwind.accdb";
field.Connection = "Provider=Microsoft.ACE.OLEDB.12.0";
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";
// Bu özellikler LIMIT ve TOP ifadeleriyle aynı işleve sahiptir.
// Sorgu sonucunun yalnızca 1 ila 10. satırlarını alanın tablosunda görüntüleyecek şekilde yapılandırın.
field.FirstRecord = "1";
field.LastRecord = "10";
// Bu özellik tablomuz için kullanmak istediğimiz biçimin dizinidir. Tablo biçimlerinin listesi "Tablo Otomatik Biçimlendirme..." menüsündedir
// Microsoft Word'de bir DATABASE alanı oluşturduğumuzda ortaya çıkar. İndeks #10 "Renkli 3" formatına karşılık gelir.
field.TableFormat = "10";
// FormatAttribute özelliği, birden fazla bayrağı depolayan bir tamsayının dize gösterimidir.
// TableFormat özelliğinin işaret ettiği formatı, bu özelliğe farklı bayraklar ekleyerek patriyal olarak uygulayabiliriz.
// Kullandığımız sayı, tablo stilinin farklı yönlerine karşılık gelen değerlerin birleşiminden oluşan bir sayıdır.
// 63, 1 (kenarlıklar) + 2 (gölgelendirme) + 4 (yazı tipi) + 8 (renk) + 16 (otomatik sığdırma) + 32 (başlık satırları) değerini temsil eder.
field.FormatAttributes = "63";
field.InsertHeadings = true;
field.InsertOnceOnMailMerge = true;
doc.FieldOptions.FieldDatabaseProvider = new OleDbFieldDatabaseProvider();
doc.UpdateFields();
doc.Save(ArtifactsDir + "Field.DATABASE.docx");
Ayrıca bakınız
- class Field
- ad alanı Aspose.Words.Fields
- toplantı Aspose.Words