Results 1 to 8 of 8

Thread: firedac

  1. #1
    Reader
    Join Date
    May 2002
    Location
    Holland
    Posts
    3,382

    firedac

    Heeft er hier iemand eigenlijk ervaringen met FireDAC?

    Ik heb de volgende vraag op het embarcadero forum geplant.
    Misschien weet iemand hier wat er gebeurt?
    Is dit de "schuld" van FireDac of SQL Server?

    -------

    Using a firedac TFDQuery with a join on SQL Server gives unpredictable results regarding the OrigTabName and OrigColName.
    (using extendedmetadata)

    It seems the order of the fields in the selectlist has influence???
    Any help here would be greatly appreciated!

    The first example does NOT give the original tablename and original field.
    The second example DOES give them.

    Code:
    // first
    select 
      B.ID,
      A.ID
    from
      A 
    inner join 
      B on B.ID = A.B_ID
    where
      A.ID = :SomeParam
    
    // second
    select 
      A.ID,
      B.ID
    from
      A 
    inner join 
      B on B.ID = A.B_ID
    where
      A.ID = :SomeParam

  2. #2
    Quote Originally Posted by EricLang View Post
    Using a firedac TFDQuery with a join on SQL Server gives unpredictable results regarding the OrigTabName and OrigColName.
    (using extendedmetadata)
    Wat zou dat als resultaat moeten geven?
    B.ID A.ID
    en
    A.ID B.ID
    ???

    Schijnbaar hangt dat ook weer af van de onderliggende database:
    Zie: http://docwiki.embarcadero.com/RADSt...data_(FireDAC)

    Dit: "Origin table and column name for each item in select list;" zie ik n.l. niet bij Firebird in dat lijstje staan.
    Maar voor SQL Server dus wel.

    Ik denk dat het iets van Firedac zelf is dus als het resultaat niet is zoals je verwacht zul je het denk ik daar moeten zoeken.

  3. #3
    Reader
    Join Date
    May 2002
    Location
    Holland
    Posts
    3,382
    Met firebird weet ik niet of het op dezelfde manier fout gaat.

    In mijn voorbeeld zouden in beide gevallen de onderliggende velden gevuld moeten worden.
    Code:
    Qry.Table.Columns[...].OriginTabName
    Qry.Table.Columns[...].OriginFieldName
    en die zouden in dit simpele voorbeeld
    Code:
    OriginTabName = "databasename..A" en OriginFieldName = "ID"
    OriginTabName = "databasename..B" en OriginFieldName = "ID"
    of andersom moeten opleveren.

    Maar dat gebeurt dus alleen goed in het eerste voorbeeld. In het 1e voorbeeld is OriginTabName leeg! Te gek toch?

  4. #4
    Senior Member
    Join Date
    Sep 2003
    Location
    Merendree, België
    Posts
    224
    Waarom gebruik je die properties 'OriginTabName' en 'OriginFieldName' eigenlijk? Die heb je toch niet noodzakelijk nodig om een query uit te voeren?
    Life is too short, don't stress every day

  5. #5
    Reader
    Join Date
    May 2002
    Location
    Holland
    Posts
    3,382
    Ik wil functionaliteit "onderin" stoppen. Met een tooltje maak ik zelf "typed" datasets voor mijn hoofdprogramma.

  6. #6
    Reader
    Join Date
    May 2002
    Location
    Holland
    Posts
    3,382
    Ik heb de sourcecode van FireDAC zitten uitspitten en het is redelijke onzin die daar wordt geproduceerd.
    Wanneer het eerst veld uit de query de hoofdtabel komt gaat alles goed, lijkt het.

  7. #7
    Hello EricLang,

    Have you solved this problem? I have a similar problem, when I change the order of joins, for example:

    //first
    "Select A.ID, B.ID from A inner join B on B.ID = A.B_ID where A.ID = SomeParam"

    To

    //second
    "Select A.ID, B.ID from B inner join A on B.ID = A.B_ID where A.ID = SomeParam"

    In the first example the OriginTabName returns correctly.

    Otherwise the OriginTabName returns an empty string.

  8. #8
    Reader
    Join Date
    May 2002
    Location
    Holland
    Posts
    3,382
    Not really "solved". To get the right origintable FireDAC requires that the first field of the SQL-statement comes from the "main" FROM clause.

Thread Information

Users Browsing this Thread

There are currently 1 users browsing this thread. (0 members and 1 guests)

Bookmarks

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •