Nedir?

Verilen kritere göre ilgili tablodaki verileri getirir.. 

Sentaks
<SqlSelect Connection="$(MyConnection)" Table="XmlScriptTestPad" TemplatePath="/*/person" Into="/*/details">
   <Columns>
      <Column Name="Name" Node="name"/>
      <Column Name="Id" Node="surname"/>
   </Columns>
   <Where>
       <Criteria Name="Name">
          <Value>gnomes</Value>
       </Criteria>
   </Where>
</SqlSelect>

Özellikler


AdıAçıklama

ConnectionVeri tabanı bağlantı parametre bilgisidir. Metod içerisinde oluşturularak veya global değişkenlerde tanımlanabilir. Yönetim kolaylığı ve EBIflow yardımcı araçlarını kullanmak için global değişkenler bölümünden tanımlanması tavsiye edilir. 

Tableİşlem yapılacak tablo adını belirlemenizi sağlar.

WhereKriter bloklarının için kullanılır.

TemplatePathForm verisi içinde çekilen verinin obje tiplerini gösteren xml yoludur. XPath alır.

IntoSeçilen verinin çoklu olarak eklendiği xml yoludur.

CommandDoğrudan SQL cümlesi yazılması gerektiğinde kullanılır.

Column

Getirilecek değerleri belirler.


Üye adı

Açıklama

NameTablo sütün ismidir

Node

xml verisinde karşılığı olacak olan node'ın ismidir.


Criteria

Kriter koşulunu belirler.


Üye adı

Açıklama

NameTabloda kriter konulması istenen alanı belirler.

Comparison

Eşittir değeri dışında kullanılır.

Less

LessOrEqual

Greater

GreaterOrEqual


ConditionOr veya and koşulunu belirler, varsayılan and olur.

Diğer

Kullanılan variable açıklamaları,


Değer
Açıklama

$(MyConnection)Veri tabanı connectionstring bilgisini içerir. Global değişkenlerde veya method içerisinde tanımlanabilir.

$(AffectedRows)Sorgu sonrası etkilenen satırları tutan değerdir.

XmlScriptTestPad Veri tabanında bulunan tablo ismidir.

$(Result)Sonucun tutulduğu değişkendir

Örnekler

Örneklerde kullanılacak xml örneği. 

Örnek Form Verisi
<sampleData>
   <person>
      <age>33</age>
      <name>john</name>
      <surname Readonly="True">doe</surname>
   </person>
   <details>
   </details>
</sampleData>


XmlScriptTestPad tablosunda bulunan Name alanı gnomes olan sorgudan çekilen Id alanını surname yoluna ve Name alanını name yoluna eşleyerek sonuçları details yolu altına çoklu olarak person tag içerisinde yazmasını sağlar. 

Koşullu Sorgu Örneği
<SqlSelect Connection="$(MyConnection)" Table="XmlScriptTestPad" TemplatePath="/*/person" Into="/*/details">
   <Columns>
      <Column Name="Name" Node="name"/>
      <Column Name="Id" Node="surname"/>
   </Columns>
   <Where>
       <Criteria Name="Name">
          <Value>gnomes</Value>
       </Criteria>
   </Where>
</SqlSelect>


 XmlScriptTestPad  tablosunda koşulsuz olarak sorgudan çekilen Id alanını surname yoluna ve Name alanını name yoluna eşleyerek sonuçları details yolu altına çoklu olarak person tagı içerisinde yazmasını sağlar. 

Koşulsuz Çoklu Sorgu Örneği
<SqlSelect Connection="$(MyConnection)" Table="XmlScriptTestPad" TemplatePath="/*/person" Into="/*/details">
   <Columns>
      <Column Name="Name" Node="name"/>
      <Column Name="Id" Node="surname"/>
   </Columns>
</SqlSelect>


XmlScriptTestPad  tablosunda koşulsuz olarak sorgudan çekilen Id alanını surname yoluna ve Name alanını name yolu ile eşleyerek sonuçları details yolu altına çoklu olarak person tagı içerisinde yazmasını sağlar. 

Bununla birlikte $(Result) değeri dönen sonuçlarda bulunan Name değerini tutar. Çoklu Name değerine daha sonra BrowseTable ile döngü içerisinde ulaşılabilir.  

Çoklu Sorgu ile birlikte görev
<SqlSelect Connection="$(MyConnection)" Table="XmlScriptTestPad" TemplatePath="/*/person" Into="/*/details">
   <Columns>
      <Column Name""Name" Node="name"/>
      <Column Name="Id" Node="surname"/>
   </Columns>
   <Perform>
      <SetVariable Name="$(Result)">
         <Value>$(Name)</Value>
      </SetVariable>
   </Perform>
</SqlSelect>


XmlScriptTestPad  tablosundan çekilen değerler xml verisinde kullanılmadan Variable olarak kullanılabilir. 

Xml verisi kullanmadan çoklu sorgu ve görev
<SqlSelect Connection="$(MyConnection)" Table="XmlScriptTestPad">
   <Columns>
      <Column Name="Name" Node="name"/>
      <Column Name="Id" Node="surname"/>
   </Columns>
   <Perform>
      <SetVariable Name="$(Result)">
         <Value>$(Name)</Value>
      </SetVariable>
   </Perform>
</SqlSelect>


Doğrudan SQL cümleciğiyle dönen sonuç Variable a atanarak kullanılabilir. 

Command ile tablo yerine sorgu kullanarak görev yapma
<SqlSelect Connection="$(MyConnection)" Command="SELECT TOP 1 Table1.Id AS TestId,Table1.Name AS TestName FROM XmlScriptTestPad AS Table1"> 
   <Columns>
      <Column Name="TestName" />            
   </Columns>
   <Where>
      <Criteria Name="Table1.Id">
         <Value Target="Integer">2</Value>
      </Criteria>
   </Where>
   <Perform>
      <SetVariable Name="$(Result)">
         <Value>$(TestName)</Value>
      </SetVariable>
   </Perform>
</SqlSelect>

Not

SQL taskları harici bir veritabanında işlem yaparlar, Table alanlarında direk tablo ismi kullanmanız gerekir, EBIFlow veri şemalarından bağımsız çalışırlar.

Ayrıca Bakınız

SetVariable

Value

BrowseTable

  • No labels