Aktív témák
-
wolffy
aktív tag
Sziasztok!
Segítséget szeretnék kérni a következőkben. Írtam egy Paradox adatbázis alapú kis programot Delphiben. Nem egy nagy durranás az egész, viszont tettem bele egy keresési funkciót, ami nem akar teljesen összejönni.
Az adatbázisban partnercégek adatai szerepelnek (cégnév, cím, tel, elérhetőség, ilyesmi) persze kis és nagybetűk váltakozásával. (Általában a mondatkezdés nagybetű.) Készítettem egy paraméteres SQL lekérdezést, mely annyit tesz, hogy egy beviteli mezőbe írt értéket megfeleltet a saját paraméterének és az alapján szűri az adatbázis cégnév oszlopát. Vagyis egy gyorskeresés, hogy a beadott cégnév szerepel-e az adatbázisban.
A gond csak ott van, hogy a cégek nevei mind nagybetűvel kezdődnek, és ha kis betűvel kezdi a user a cégnév beírását, nem talál megfelelőt.
Olyan megoldás járt az eszemben, hogy mindent nagybetűssé alakítok az adatbázisban és a beviteli mezőt is nagybetűkre korlátozom, de szeretném elegánsabban megoldani. >> Bárhogy kezdi a begépelést a user, a program fogja fel, hogy például a ''F'' betű ugyanolyan mint a ''f''.
Létezik erre valamiféle megoldás?? (Úgy tudtam az SQL alapból nem tesz különbséget kis és nagybetű között. Itt valahogy mégis.)
Válaszaitokat köszönöm! -
-
wolffy
aktív tag
A lot of thanx!!! Az általad leírtakkal sikerült megoldani a problémát. Most már tényleg ideje vennem egy SQL könyvet, mert csak nagyon alapvető parancsokat ismerek.
Köszi mindent! -
-
wolffy
aktív tag
OK. Akkor ''kifaggatom'' a Delphi-t. Egyébként 7-es Enterprise verzió. Csak tudnám, hogy a Delphi-féle SQL ebben az esetben miért különbözteti meg a kis és nagy karaktereket. A Delphi egyébként sem nagyon tesz különbséget. Inkább a JBuilder az érzékeny nem?
Köszke mindent. (Még elég kezdő vagyok.) -
lao ce
aktív tag
van egy olyan erzesem hogy kicsit talan kevered a dolgokat.
a kis- es nagybetu keverese a delphi parancsoknal valoban lehetseges. tovabba ez akkor is rendben van mikor sql-t hasznalsz, select vagy SELECT ugyan az, bar ennek mar semmi koze a delphihez, ezt a db es a programod kozotti alrendszer intezi odbc,ado,ole db,bde vagy ami van arre, tefeled.
viszont stringek osszehasonlitasanal ez nem igaz, 'alma' <> 'Alma' es ha belegondolsz ez igy nagyon jol van, mivel ha ez egyenlo lenne akkor igencsak nehez lenne kezelni ha valoban szukseg van a kulombsegtetelre.
amikor te a delphi parametert hasznalod, az be van helyettesitve egy stringre mielott tovabbadja a program a db alrendszernek, igy a stringes szabalyok vonatkoznak ra.
ha lenne egy olyan parameter monduk hogy 'case insensitive string comparison' amit be lehetne allitani az objektumhoz, az is csak azt csinalna nagy valoszinuseggel amit a kollega leirt az elobbiekben, szoval ugyanott vagy.nicht kompot
-
wolffy
aktív tag
Lényeg, hogy sikerült megoldani ezt a keresési funkciót a kis-nagybetű különbözőség kiküszöbölésével. Azonban időközben rádöbbentem, hogy tudatlanságom tovább fokozódott.
Az eddigiek során mikor Access-ben dolgoztam megszoktam, hogy ha egy adattáblába új rekordot veszek fel, az automatikusan az utolsó rekord mögé kerül. Ugyanezt a hatást nem tudtam elérni a Delphiben található DBNavigator segítségével. Ott ugyan van rekord beszúrási lehetőség (+ jeles gombocska) de az tényleg szó szerint beszúrás. (Nekem mindig az aktuális rekord elé veszi fel az üres rekordot.)
Tudom, hogy rendezett tábla esetében nem gond mindez, hiszen a bárhová beszúrt új rekord úgy is a rendezési szempontok alapján bekerül a helyére, de mi a helyzet ha a tábla nem rendezett? Akkor hogyan tudom elérni az Access-ben megszokottakat, hogy a beszúrt rekord mindig az utolsó rekord mögé kerüljön?
Bocs mindenkinek, biztos csak megint ''balfaszkodom''. :F -
BlackWoOd
aktív tag
Nem tom' mit barkácsolsz Delphiben, de a DBNavigator komponensben tényleg csak insert van (majd ha jobban beleásod magad, átírhatod, hogy legyen benne más is).
A TTable-nek van egy olyan metódusa, hogy ''Append'', azzal a tábla végére csinálhatsz egy új üres rekordot (a ''plusz gombocska'' az ''Insert'' metódust hívja).
De azért felhasználóknak szánt programba nem illik beleépíteni a ''DBNavigator'' komponenst, szerintem.< ..kevés az ember, sok az emberszerű lény... >
Aktív témák
- Intel I7 13700K 16mag/24szál - Új, Tesztelt - Eladó! 128.000.-
- Intel I5 13600KF 14mag/20szál - Új, Tesztelt - Eladó! 89.900.-
- 100db 4WORLD - 08529 - SATA3 KÁBEL 45CM - RED Új
- Sony PlayStation 5 (PS5) Játékkonzol csomag
- SK Hynix Platinum P41 2 TB M.2 NVME PCI-E 4.0 x4 - Új, Tesztelt - 7000-6500 MBs - Eladó!