Keresés

Aktív témák

  • Panther

    HÁZIGAZDA

    válasz Gh0sT #13 üzenetére

    Az, hogy:
    Ugyfel.Ugyfel_nev LIKE @Ugyfelnev + '%'
    azért nem működik, mert SQL-ben nem a + az egymás-után-írás operátora. Hogy neked konkrétan mi, ahhoz tudni kéne hogy milyen SQL-el dolgozol. PostgreSQL-ben pl ez: || MySQL-ben pedig a CONCAT parancs.

    A gond ezzel ott van, hogy ha pl van olyan település, hogy Buda, meg olyan hogy Budapest, akkor a Buda%-ra ki fogja dobni mindkettőt (mert az egyik a folytatása a másiknak).
    Épp ezért, ha csak előre megszabott lehetőségek közül válaszhat a user (ergo nincs effektíve a user kénye-kedve szerinti keresés), akkor érdemes nem mindig %-ot tenni mindenhova. Az kéne, hogy ha valamit kiválasztott, akkor azt odaírni, ha semmit nem választott ki, akkor meg %. (Vagy, mint írtam, a WHERE-ből egyszerűen kihagyni a nevezett feltételt. Persze ez nem olyan egyszerű mint a másik megoldás.)

    Javaslom én is hogy a Comboboxot magad töltsd fel, és az első (nulladik) elembe tedd be hogy ''Összes'' -- majd ha Combobox.Change() van, akkor ha listindex=0 akkor Telepules LIKE '%', különben meg Telepules LIKE 'amit_kivalasztott'.

  • Goose-T

    veterán

    válasz Gh0sT #13 üzenetére

    Használj varchar-t vagy nvarchar-t (nem jut eszembe hirtelen, mi a külünbség, talán az nvarchar unicode). A lekérdezésnél pedig ne az SQL kódban rakd hozzá a %-ot, hanem még VB-ben, a paraméter-átadás előtt alakítsd át őket ideiglenes változókba pakolva.

Aktív témák