FieldDatabase
İçindekiler
[
Saklamak
]FieldDatabase class
DATABASE alanını uygular.
Daha fazlasını öğrenmek için şu adresi ziyaret edin:Alanlarla Çalışmak dokümantasyon makalesi.
public class FieldDatabase : Field
yapıcılar
İsim | Tanım |
---|---|
FieldDatabase() | Default_Constructor |
Özellikleri
İsim | Tanım |
---|---|
Connection { get; set; } | Verilere 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; } | Database ’nin tam yolunu ve dosya adını alır veya ayarlar |
FirstRecord { get; set; } | Eklenecek ilk veri kaydının integral kayıt numarasını alır veya ayarlar. |
Format { get; } | Bir alırFieldFormat Alanın formatlamasına yazılı erişim sağlayan nesne. |
FormatAttributes { get; set; } | Formatın hangi niteliklerinin tabloya uygulanacağını alır veya ayarlar. |
InsertHeadings { get; set; } | Veritabanındaki alan adlarının sonuç tablosundaki sütun başlıkları olarak eklenip eklenmeyeceğini alır veya ayarlar. |
InsertOnceOnMailMerge { get; set; } | Birleştirmenin başlangıcı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 (sonucu yeniden hesaplanmamalıdır). |
LastRecord { get; set; } | Eklenecek son veri kaydının integral 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ı ile alan sonu arasındaki metni alır veya ayarlar. |
Separator { get; } | Alan ayırıcıyı temsil eden düğümü alır. Olabilirhü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ı (veya ayırıcı yoksa alan sonu) arasındaki metni döndürür. Alt alanların hem alan kodu hem de alan sonucu dahil edilir. |
GetFieldCode(bool) | Alan başlangıcı ile alan ayırıcı (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 child ‘si ise, üst paragrafını döndürür. Alan zaten kaldırılmışsa şunu döndürür:hükümsüz . |
Unlink() | Alanın bağlantısını kaldırır. |
Update() | Alan güncellemesini gerçekleştirir. Alan zaten güncelleniyorsa atar. |
Update(bool) | Bir alan güncellemesi gerçekleştirir. Alan zaten güncelleniyorsa atar. |
Notlar
Bir veritabanı sorgusunun sonuçlarını bir WordprocessingML tablosuna ekler.
Örnekler
Veritabanından verinin nasıl çıkarılacağını ve bunun bir alan olarak belgeye nasıl ekleneceğini gösterir.
Document doc = new Document();
DocumentBuilder builder = new DocumentBuilder(doc);
// Bu DATABASE alanı bir veritabanı üzerinde bir sorgu çalıştıracak ve sonucu bir tabloda görüntüleyecektir.
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 sırada sıralayan daha karmaşık bir sorgu içeren başka bir DATABASE 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 cümleleriyle aynı işleve sahiptir.
// Bunları, alanın tablosunda sorgu sonucunun yalnızca 1'den 10'a kadar olan satırlarını görüntüleyecek şekilde yapılandırın.
field.FirstRecord = "1";
field.LastRecord = "10";
// Bu özellik tablomuz için kullanmak istediğimiz formatın indeksidir. Tablo formatlarının listesi "Tablo Otomatik Formatı..." menüsündedir
// Microsoft Word'de bir DATABASE alanı oluşturduğumuzda bu ortaya çıkıyor. Dizin #10 "Renkli 3" formatına karşılık gelir.
field.TableFormat = "10";
// FormatAttribute özelliği, birden çok bayrağı saklayan bir tam sayının dize temsilidir.
// Bu özellikte farklı flaglar ayarlayarak TableFormat özelliğinin işaret ettiği formatı patrially uygulayabiliriz.
// Kullandığımız sayı, tablo stilinin farklı yönlerine karşılık gelen değerlerin birleşiminin toplamı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ı) anlamına gelir.
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