Nedir?
Veri tabanından belirtilen Shema tablosu üzerindeki kayıtları hafızaya okunması için kullanılır.
Sentaks
<GetSchemaData Name="" RetrieveLookupDisplayValues="False" MaximumResultCount="0" VariablePrefix="">
<Columns />
<Filter />
<Order />
</GetSchemaData>
Özellikler
| Adı | Açıklama | |
|---|---|---|
| Name | Ebiflow client üzerinden oluşturulmuş schema tablo adıdır. | |
| RetrieveLookupDisplayValues | İlişkili alanların görünen bilgilerini getiririlmesini sağlar. Alabileceği değerler: True veya False | |
| MaximumResultCount | Sorgu sonucu dönecek maksimum kayıt sayısını tanımlar. Varsayılan "0" olarak tanımlanır ve filtrelere göre şemadaki bütün kayıtları döner. | |
| VariablePrefix | İlişkili alanların görünen bilgilerini başlık ön adlarını tanımlar. | |
| Columns | Kolon verilerinin değişkenler ve node alanları ile eşleştirmelerinin tanımları yer alır. | |
| Filter | Sorguya eklenecek filtreleri belirler. | |
| Order | Verilerin okunma işleminde sıralama kolonları ve sıralama adlarını belirtilir. |
Örnekler
Sentaks
<GetSchemaData Name="Managers">
<Columns>
<Column Node="" Name="Manager" />
</Columns>
<Filter>
<Block>
<Criteria Name="Employee">
<Evaluate Target="Guid">/*/Personel/Id</Evaluate>
</Criteria>
</Block>
<Block>
<Criteria Name="IsGeneral" Condition="And">
<Value Target="Bool">false</Value>
</Criteria>
</Block>
</Filter>
<Order>
<Order Type="Ascending">
<OrderColumn Name="Name" DataType="System.String" />
</Order>
</Order>
</GetSchemaData>
Aşağıdaki örnekte mevcut kriterlere göre veri bulunup bulunulamadığı kontrol edilmektedir.
Bu örnekte "TableAlanAdlari" ismindeki değişken içerisine "AlanAdlari" ismindeki tablodan belirtilen kolanlara ait dataların getirilmesi sağlanmıştır.
Tablodaki verilerin filterelemek için farklı filtereleme seçenekleri kullanılmıştır, bunlar.
- "Durum" kolonu için text filtre değeri : "Tamam"
- "AlanAdı" ve "AlanUzantisi" kolonu için değişken filtre değeri : $(alanAdi) ve $(alanAdiUzanti) dir.
- Son olarak gönderilen Id 'den farklı bir Id 'li kayıt var mı diye filtre eklemek için Comparison="Different" ifadesi filtreye eklenmiştir.
- BrowseTable komutu ile bu sorgu sonucu kayıt gelip gelmediği sorgulanmış ve isExist değişkeni değer olarak dönmesi sağlanmıştır.
GetSchemaData
<SetVariable Name="$(TableAlanAdlari)" >
<GetSchemaData Name="AlanAdlari" RetrieveLookupDisplayValues="False" MaximumResultCount="0"
VariablePrefix="">
<Columns>
<Column Node="" Name="AlanAdi" />
<Column Node="" Name="AlanUzantisi" />
<Column Node="" Name="Durum" />
</Columns>
<Filter>
<Block>
<Criteria Name="Durum">
<Value Culture="" Target="None">Tamam</Value>
</Criteria>
<Criteria Name="AlanAdi">
<Value Culture="" Target="None">$(alanAdi)</Value>
</Criteria>
<Criteria Name="AlanUzantisi">
<Value Culture="" Target="None">$(alanAdiUzanti)</Value>
</Criteria>
<Criteria Name="Id" Comparison="Different">
<Value Culture="" Target="None">$(alanAdiId)</Value>
</Criteria>
</Block>
</Filter>
<Order />
</GetSchemaData>
</SetVariable>
<SetVariable Name="$(isExist)">
<Value Culture="" Target="Bool">false</Value>
</SetVariable>
<BrowseTable Name="$(TableAlanAdlari)" SortExpression="" Into="" TemplatePath="">
<Columns />
<Perform>
<SetVariable Name="$(isExist)">
<Value Culture="" Target="Bool">true</Value>
</SetVariable>
</Perform>
</BrowseTable>
Veri şemasındaki ilişkili alanların otomatik olarak eklenmesi için "RetrieveLookupDisplayValues" özelliği "True" olarak atanmalıdır. "Customers" şemasındaki Sehir kolonu bağlı olduğu şehirler veri şemasındaki varsayılan ilişki kolonu olan Ad alanı da dönen değere eklenir.
<SetVariable Name="$(Musteriler)">
<GetSchemaData Name="Customers" RetrieveLookupDisplayValues="True" MaximumResultCount="0" VariablePrefix="">
<Columns />
<Filter />
<Order />
</GetSchemaData>
</SetVariable>