Announcement

Collapse
No announcement yet.

SQL - Neuling, LOCATE - Problem

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

  • SQL - Neuling, LOCATE - Problem

    Ich habe ein LOCATE - Problem,<br>
    mit SQL Server 2000, D5E, W2K und TBetterADODataSet. Das DataSet ist <br>cmdStoredProc <br>
    <PRE> CREATE PROCEDURE [dbo].[sp_THIS_Events] @ID int AS
    select * from Events where MPD_ID=@ID order by Event_SQ
    GO
    </PRE>
    Bevor ich nun ein neues Event_SQ vom Typ MPD_ID einfügen will <br>
    prüfe ich mittels:<br>
    <PRE> if DM_MAIN.T_Events.locate('EVENT_SQ; MPD_ID',VarArrayof([EV,MPD_ID]),[locaseinsensitive])=false then begin</PRE>
    Das Problem besteht darin, dass dieses LOCATE nie erfolgreich ist,<br>
    obwohl Event_SQ mit passendem MPD_ID vorhanden sind.<br>
    Kann mir jemand Hinweise zur Fehlersuche geben?<br>
    Hendrik

  • #2
    Hallo,

    die ADO Express-Komponenten wie zum Beispiel TADODataSet oder die davon abgeleitete Komponante TBetterADODataSet stellen die Methode Locate zur Verfügung, um einen Datensatz in der Datenmenge aufzuspüren. Hinter dieser Methode steckt ausnahmsweise keine Interface-Methode des Recordset-Objekts, sondern die Methode Locate setzt intern je nach vorgefundener Situation auf die Recordset-Methode <b>Find</b> oder die Recordset-Eigenschaft <b>Filter</b> auf. Der Vorteil von Locate liegt für uns insbesondere darin, dass wir mit ADO Express über den von der BDE her gewohnten Weg suchen können - allerdings bedeutet dies auch, dass wir die volle Breitseite der VCL-Bugs auf den Pelz bekommen :-)

    Ich würde daher zuerst direkt über die Recordset-Methode Filter suchen

    Comment


    • #3
      Danke Hr. Kosch,<br>
      dann werd ich mal mit Find weiter machen :-)<br>
      Hendri

      Comment

      Working...
      X