Delphi - Sql paraméterezési probléma WinXP alatt
2003-07-30T14:22:41+02:00
2003-07-31T07:46:31+02:00
2022-06-29T08:05:39+02:00
  • Kösz a segítséget.
    Mutasd a teljes hozzászólást!
  • Névvel azonosítsd a paramétereket, és akkor nem lesz probléma. Pl.:
    query1.sql.clear; query1.sql.add('Select * from tabla where x=:param1 and y in (select .... where z=:param2)'); query1.parambyname('param1').AsString:='A'; query1.parambyname('param2').AsString:='B'; query1.active:=true;
    Mutasd a teljes hozzászólást!
  • Szia Sanyi!
    A következőt értem alatta:
    lenne pl az alábbi sql hívás

    query1.sql.clear;
    query1.sql.add('Select * from tabla where x=:param1 and y in (select .... where z=:param2)');
    query1.params[0].AsString:='A';
    query1.params[1].AsString:='B';
    query1.active:=true;

    ennek ugye 2 paramétere van, param1,param2

    Korábbi konfig-on:
    param2=A és param1=B

    Jelenleg viszont fordítva történik a paraméterátadás,vagyis
    Param2=B param1=A

    Talán így egy kicsit érthetőbb voltam.
    Mutasd a teljes hozzászólást!
  • Ezt nem teljesen értem: mit értesz az alatt, hogy 'bekéri a paramétert'?

    Üdv
    Sanyi
    Mutasd a teljes hozzászólást!
  • Sziasztok!
    Korábban - win98 + office2000 + Delphi7 környezetben - írtam egy adatbáziskezelő programot,
    ami ODBC-n keresztül kapcsolódik egy MsAccess2000 formátumú adatbázishoz.
    Most viszont áttértem WinXP + OfficeXP-re, és a programban az egymásba ágyazott SQL utasítások helytelenül kapják meg a paramétereket.
    Pl.
    Select * from tabla where x=param1 and y in (select .... where z=param2)
    win98: a paraméterek bekérési sorrendje: param2,param1 (vagyis először a beágyazott select)
    WinXP: a sorrend felcserélődött: param1,param2

    Ha Közvetlenül MSAcces-ben futtatom a selectet, akkor a win98-as környezetben megszokott módon kéri a paramétereket.
    Delphiből (vagy az exe-t) futtatva viszont megcserélődik.
    Tippem, hogy az ODBC környékén lehet a gond, bár a beállításaim alapértelmezettek (megegyezik a korábbi környezettel), csak a verziója frissebb pár évvel.



    Mutasd a teljes hozzászólást!
abcd