Announcement

Collapse
No announcement yet.

Parameter in ADO.NET mit Access SQL

Collapse
X
  • Filter
  • Time
  • Show
Clear All
new posts

  • Parameter in ADO.NET mit Access SQL

    Hallo,

    im Zusammenhang mit ADO.NET und Access habe ich folgendes Problem :
    Während z.B. die Query "select * from test where id = @id" mit dem SQL Server problemlos funktioniert klappt das ganze so mit Access nicht.

    Kann mir jemand weiterhelfen ?

  • #2
    Hallo,
    während der SQL .NET Provider für den MS SQL Server für den Parameter die Syntax <b>@</b><i>ParameterName</i> erwartet, verwenden die OLE DB Provider (wie zum Beispiel für die JET-Engine) die Syntax <b>?</b> (Fragezeichen ohne Parameter-Name!).
    <br>
    Beispiel:
    <code>
    SELECT ID, Name, Bild FROM BILDER WHERE (ID = ?)
    </code&gt

    Comment


    • #3
      Hallo,

      d.h. eine Parameteroption, die sowohl von OLE DB sowie vom .NET Provider verstanden wird existiert nicht.
      Wie könnte hier evtl eine Implementierung erfolgen, ohne bei einem etvtl. späteren Wechsel nicht alle SQL Statements ändern zu müssen ?
      Ist den OLE DB im Zusammenhang mit .NET überhaupt noch aktuell, oder empfiehlt es sich hier ausschließlich mit dem .NET Provider zu arbeiten ?

      Letzte Frage : Gibt es denn bei Access eine Alternative zu JET ?

      Gruß

      Ulrich Schmid

      Comment


      • #4
        Hallo,
        im Gegensatz zu ADO trennt ADO.NET zwei Bereiche ab: <br>
        1. Datenbank-spezifische Provider (Verbindung ... Datenadapter) <br>
        2. Datenbank-unabhängige Verwaltung (DataTable, DataSet, DataView etc.) <br>
        Da spezifische Provider (die jeder Datenbank-Hersteller liefern kann) genutzt werden, gibt es <b>nicht mehr</b> die Einschränkungen des Prinzips des kleinsten gemeinsamen Nenners.
        <br>
        &gt;Wie könnte hier evtl eine Implementierung erfolgen...
        Indem verschiedene DAL-Klassen (<i>Data Access Layer</i> zum Beispiel als Component Class-Nachfolger) den Datenbank-spezfischen Teil kapseln. Denn auch der Sprachumfang der Datenbanken unterscheidet sich ja. Nur spezifische DAL nutzen den Leistungsumfang der jeweiligen Datenbank aus.
        <br>
        &gt;Gibt es denn bei Access eine Alternative zu JET ?

        Ja - der <i>Microsoft SQL Server 2005 Express</i>, wobei das eher die Alternative zum MDB-Datenbankformat ist :-

        Comment

        Working...
        X