Skip to end of metadata
Go to start of metadata

You are viewing an old version of this page. View the current version.

Compare with Current View Page History

Version 1 Next »


Adressen werden per SQL Select-Abfrage an der Datenquelle abgeholt und einem Adressobjekt in primedocs zugewiesen. Jede Datenbank-Spalte wird mit dem Schlüsselwort "as" in ein primedocs Feld abgefüllt. Die WHERE-Klausel enthält die Filterparameter. Diese werden im Element SearchParameter definiert. Der Wert eines Parameters kann in der Query mit {Parametername} aufgerufen werden.

<AddressProvider id="8C51B042-81EA-46E3-A429-821641E19A6A" order="1" active="false">
  <Debug>false</Debug>
  <Title>Generic SQL Provider</Title>
  <Icon>{Base64 Image}</Icon>
  <SafeQuery>false</SafeQuery>
  <ConnectionString>{ConnectionString}</ConnectionString>
  <ConnectionProvider>System.Data.OleDb</ConnectionProvider>
  <Query>
    <!-- Example in T-SQL -->
    SELECT 
        [SPALTENNAME] AS {Feldname OneOffixx} 
    FROM [TABLE]
    WHERE
        UCase([Vorname]) Like UCase('%{firstName}%') AND
        UCase([Name]) Like UCase('%{lastName}%') AND
        UCase([Strasse] &amp; ' ' &amp; [Hausnummer]) Like UCase('%{street}%') AND
        [Postleitzahl] Like '%{plz}%' AND
        UCase([Ort]) Like UCase('%{city}%')
  </Query>
  <SearchParameters>
    <SearchParameter Name="company" Label="Firma" Type="String" Length="100" Sort="1" />
    <SearchParameter Name="firstName" Label="Vorname/Name" Type="String" Length="100" Sort="2" />
    <SearchParameter Name="lastName" Label="" Type="String" Length="100" Sort="2" Width="90" />
    <SearchParameter Name="street" Label="Strasse" Type="String" Length="100" Sort="3" />
    <SearchParameter Name="plz" Label="PLZ/Ort" Type="String" Length="6" Sort="4" />
    <SearchParameter Name="city" Label="" Type="String" Length="100" Width="130" Sort="4" />
    <SearchParameter Name="country" Label="Land" Type="String" Length="100" Sort="5" />
  </SearchParameters>
  <ContactMapping>
    <ContactItemXPath>Contact</ContactItemXPath>
    <ContactElement id="Person_LastName">Column_LastName</ContactElement>
    <ContactElement id="Person_FirstName">Column_FirstName</ContactElement>
  </ContactMapping>
</AddressProvider>

Aufbau

  • Debug true falls zusätzliche Informationen geloggt werden sollen.

  • Title Titel des Address Provider (wird so in Tab angezeigt)

  • Icon Bild für Icon (als Base64-String; empfohlen: PNG, 32x32 Pixel)

  • SafeQuery Fügt vor jeden Parameter im Query ein '@' ein (true nur möglich für System.Data.SqlClient), sollte stets auf true gestellt sein um SQL Injection Attacken zu verhindern, allerdings gilt dies nicht für alle Datenbanksysteme.

  • ConnectionString Datenbank ConnectionString .

  • ConnectionProvider

    • System.Data.Odbc

    • System.Data.OleDb

    • System.Data.OracleClient

    • System.Data.SqlClient

  • ContactMapping Siehe XML-Kontakt-Mapping.


Query

Die Abfrage in der korrekten Syntax und Sprache für den gewählten Provider: es gilt zu beachten, dass es erhebliche Unterschiede zwischen den SQL-Dialekten gibt.

Beispiel für Transact-SQL:

SELECT 
    [Column1] AS OneOffixxFieldname1, 
    [Column2] AS OneOffixxFieldname2, 
FROM [TABLENAME]
WHERE
    UCase([Column1]) Like UCase('%{searchParam1}%') AND
    UCase([Column2]) Like UCase('%{searchParam2}%')

Beispiel für Oracle SQL:

SELECT 
    Column1 AS "OneOffixxFieldname1",
    Column2 AS "OneOffixxFieldname2"
FROM TABLENAME
WHERE
    UPPER(Column1) Like UPPER('%{searchParam1}%') AND
    UPPER(Column2) Like UPPER('%{searchParam2}%') 

Suchparameter

Die Liste der Suchparameter ist für die Eingabemaske nötig. Falls keine SearchParameterliste angegeben ist, werden Suchparameter automatisch erzeugt. Es können maximal zwei Controls auf einer Zeile plaziert werden.

<SearchParameter Name="company" Label="Firma" Type="String" Length="100" Sort="1" />
  • Name Eindeutiger Feldname. Kann in der Query verwendet werden im Format {XXX}.

  • Label Anzeigetext im Dialog vor Control

  • Type Type des Controls (Mögliche Werte sind String, Long, Boolean, Date).

  • No labels