Inhalt anzeigen / ausblenden

    Generic SQL

    Adressen werden per SQL Select-Abfrage an der Datenquelle abgeholt und einem Adressobjekt in OneOffixx zugewiesen. Jede Datenbank-Spalte wird mit dem Schlüsselwort "as" in ein OneOffixx 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).
    Zurück nach oben | Deutsch | English PrimeSoft AG   I   Bahnhofstrasse 4   I   8360 Eschlikon   I   Switzerland   I   Datenschutz   I   Impressum