Announcement

Collapse
No announcement yet.

Recordset in die ADOTable

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

  • Recordset in die ADOTable

    Hallo,

    In meiner Programm versuche ich die Daten(_Recordset) in die ADOTable.Recordset übergeben, aber das klappt nicht. Dann kommt die Fehlermeldung, dass recordset nicht geöffnet werden kann. Woran kann es liegen, denn andere Daten in Integer, String Format werden problemlos dargestellt. Danke.

    procedure TForm1.Button1Click(Sender: TObject);
    var aRS: _Recordset;
    begin
    server := CoserverApp.Create;
    ADOTable1.Active := false;
    aRS := ADODB_TLB._Recordset(server.getInfo);
    ADOTable1.Recordset := ADOInt._Recordset(aRS);
    ADOTable1.Active := True;
    end;

  • #2
    Hallo,

    welche Datenbank liefert die Recordset-Daten? Immer dann, wenn der Server ein gefülltes Recordset an den Client übergibt, muss auch der Client die entsprechende MDAC-Version (ADO) installieren. Zum Beispiel darf man bei einer MS SQL Server 2000-Datenbank nur dann die neuen Datentypen verwenden, wenn auch der Client mindestens die MDAC-Version 2.6 installiert hat

    Comment


    • #3
      Danke für die Antwort. MS SQL 7.0 liefert die Recordset-Daten. Beim Client sind Microsoft Activx Data Objects Library 2.6 installiert. MDAC (Microsoft Data Access Components)-Version 2.3. Das heisst ich muss neue MDAC version?

      Dank

      Comment


      • #4
        Hallo,

        >Beim Client sind Microsoft Activx Data Objects Library 2.6...

        das reicht völlig aus, MDAC ist ja nur die Umverpackung für ADO + ADOX + JRO + ADO MD usw.

        Ich würde folgendes machen: <br>
        1. Prüfen, ob der Server das Recordset-Objekt auch wirklich mit <b>adLockBatchOptimistic</b> angefordert. <br>
        2. Prüfen, ob der Server das Recordset-Objekt vor der Übergabe an den Client (Rückgabewert der Funktion) über <b>aRS.Set_ActiveConnection(nil);</b> von der Connection trennt. <br>
        3. TADOTable druch <b>TADODataSet</b> ersetzen <br>
        4. Prüfen, das im Objektinspektor TADODataSet nicht konfiguriert wird (Keine Verbindung zu einer Datenbank!) <br>
        5. Recordset vom Server an TADODataSet-Eigenschaft <b>Recordset</b> hängen <br>
        6. TADODataSet öffnen

        P.S: Hinter TADOTable verbirgt sich nur eine Kompatibilitätskomponente, die man mur bei der Migraton von der BDE zu ADO kurzzeitig nutzen sollte, um die Sache zu erleichtern. Am Ende sollte TADOTable durch TADODataSet ersetzt werden, so TADOTable nicht alles unterstützt, was TADODataSet kann

        Comment


        • #5
          Danke, es funtioniert jetzt

          Comment

          Working...
          X