Aktív témák
-
tisn
veterán
válasz
dON't hAcK!
#155
üzenetére
Szia, amúgy jól, köszi! :-))
Na így voltak beállítva a propertyk:
de a lényeg az, hogy a Database-nak be kell állítani a DatabaseName-t, és ezt már ki lehet választani a Queryben. Tegnap este nem teljesen pontos voltam :-(
object Database1: TDatabase
AliasName = 'LauncserAlias'
Connected = True
DatabaseName = 'Alma'
SessionName = 'Default'
Left = 64
Top = 80
end
object Query2: TQuery
Active = True
DatabaseName = 'Alma'
SQL.Strings = (
'select * from ember')
Left = 64
Top = 136
object Query2TAG_NEVE: TStringField
FieldName = 'TAG_NEVE'
Origin = 'ALMA.''ember.DBF''.TAG_NEVE'
end
object Query2ELETKOR: TSmallintField
FieldName = 'ELETKOR'
Origin = 'ALMA.''ember.DBF''.ELETKOR'
end
object Query2IQ: TSmallintField
FieldName = 'IQ'
Origin = 'ALMA.''ember.DBF''.IQ'
end
end -
tisn
veterán
válasz
dON't hAcK!
#155
üzenetére
Én két müködő verziót küldtem neki tegnap este, a másodikból kiszedtem a database-t, meg alias se kellett, de úgy látom azzal se boldogult. :((( Lassan megkérem, hogy rakjon fel egy VNC-t, rálépek a gépére, aztán megnézem mi lehet a probléma.
-
tisn
veterán
Olyat meg ne tanítsunk már a kezdőknek, hogy hagyja nyitva a query-ket. Azokat akkor kell megnyitni, ha szükség van rá...
Mostmár kezd egy elképzelésem lenni, ennek a tanintézménynek a színvonaláról.
Először megtanítani rendesen a nyelvet (1. object pascal, 2. vizuális fejlesztés delphiben), aztán egy kis szoftver fejlesztési tudás (tervezés stb.), adatbáziskezelés (db tervezés, normálformák), majd egy kis sql tanítás (delphin kívül)... Szóval szvsz ezen lépések után kellett volna jönnie a delphi sql alapú fejlesztéseknek. Ha ezek megtörténtek, akkor meg Launcser kolléga járt inkább korcsmába, meg CSzni tanulás helyett :DDD -
tisn
veterán
Na Hi!
Két proggy verziót is küldtem, egyik alias nélküli, nehogy ne működjön már. Mi a hibajelenség??? -
tisn
veterán
Hát törlésnél meg azt csinálod (mivel nincs egyedi elsődleges kulcs), hogy csinalsz meg egy queryt, abba pedig a delete gomb onclickjen valami ilyesmit irsz, hogy
qryDelete.SQL.Text:= 'delete ember where EMBERKENEVE = '+#39+Edit1.Text stb...
update is ilyesmi, de mondom, hogy kicsit olvasgatsz, ráfogsz jönni magadtól is. -
tisn
veterán
Hmm ki is kérdezte a BDE aliast? Szóval mit nem tudsz/értesz rajta? Paradoxhoz, dbase-hoz pofoneccerű, létrehozol egy standard típusút, beállítod a könyvtárat, meg hogy dbase, vagy paradox legyen, és kész is van...
-
tisn
veterán
Várjunk csak, mikorra is kell? Beszéljük meg úgy, hogy megpróbálod megírni, ha nem megy segítek, ha végképp nem megy, akkor megírom. Neked is nagyobb sikerélmény, ha Te csinálod meg, és a végén még a Delphi-t is megszereted. Én pl elég sokat programoztam mfc-ben is, és még mindig büfiznem kell, ha rágondolok. ;]
-
tisn
veterán
A francba, már elküldtem, meg hát ez nem is a kívánságműsor, de azért megcsinálom...
-
tisn
veterán
Hmmm, a beírt update példámban legalább két szintaktikai hiba van :-)) Papíron programozás rulzz.
-
tisn
veterán
Mingyá írok kicsit az alias-okról is, csak közben megjött Launcser mester proggija, ha az műxik, már írom is :-))
-
tisn
veterán
válasz
dON't hAcK!
#114
üzenetére
Datamodul használata szerintem kvázi kötelező, ugyanis áttekinthetőbbé teszi a programot, ha az adatbáziskezelő cuccok külön helyen vannak. Sőt érdemes az adatbáziskezelő kódrészeket is ide helyezni, a form-ok forráskódjaiba pedig csak a gui kezelő kódot írni.
-
tisn
veterán
Új rekord felvitele. Először is felrakunk néhány sima edit mezőt, amit a user töltögethet, meg mondjuk egy felvitel gombot a formunkra. Csinálunk egy TQuery-t a Datamodule-ra, aminek a neve nemes eccerűséggel qryInsert. A felvitel gomb onclickjére pedig írunk egy ilyen kedves dolgot, hogy
dmLauncser.qryInsert.SQL.Text:= 'insert into ember (Nev, Eletkor) values ('+#39+edNev.Text+#39+', '+edEv.Text+#39+; )';
dmLauncser.qryInsert.ExecSQL;
És asszem meg is vagyunk. Paramértert is lehet használni, viszont nálunk többször elbaszott valamit, úgyhogy általában hanyagoljuk. Paraméterek esetén ne felejtsük el, hogy az sql szövegbe így irjuk be :param1, utána a paraméter editorban beállítjuk, hogy input paraméter, valamint a típusát is belőjjük. -
tisn
veterán
Ha sikerült kiválasztanod a megfelelő lépést, esetünkben paradoxot (najó dbf is lehet, ha már megküzdöttél vele)
Csinálsz egy BDE aliast, ami arra a könyvtárra mutat, amibe raktad a táblákat. Ezekután belépsz a delphibe, csinálsz egy DataModule-t, arra ráraksz egy Database-t, aminek beállítod az aliasát az előbb létrehozottra.
Ezután felraksz egy TQuery-t, meg egy TDataSource-t, a TQuery Database-ját beálltítod a felrakott Database-ra, a Datasource dataset propertyjét pedig a TQuery-re.
Beleírod a Querydbe a szükséges SQL-t, esetünkben a select * from ember-t. Kéccet a TQuery-re kattintva bejön a field editor, ahol add field-el hozzáadjuk a megfelelő mezőket.
Ekkor a formunkra feldobunk egy DBGridet, beállítjuk a Datasource-ját, és örömmel konstatáljuk, hogy a lekérdezés írás már megy...
(Folytatás következik...) -
tisn
veterán
Hát gyerekek, kavartok rendesen... Küggyed nekem azt a forrást, 10 perc alatt meghegesztem. Ha delphiben adatbáziskezelsz, akkor
1. ADO használata. Ha nem megy az adatbáziskezelőddel, akkor ->>
2. BDE-t hansználd. Ha nincs hozzá dll-je a delphinek, (pl. mysql)
3. Akkor térj át az ODBC-re (ennek közkeletű neve a slOwDBC...)
4. Ha adatbáziskezelőd sincs, akkor használj paradoxot, vagy local interbase-t.
5. DBF-et felejtsd el.
:O
Aktív témák
- Steelseries Arctis 9X Wireless for xbox + Xbox dongle for PC
- ASUS ROG STRIX GeForce RTX 4090 WHITE OC EDITION 24GB - Alza garancia 2027.03.19 - BESZÁMÍTOK!
- ASUS ExpertBook P5 Ultra 7 / 32GB / 1TB / 2560x1600 MATT 144Hz / Gari 2028 06 05-ig!
- Félkonfig: AMD Ryzen 5 5600x + ASUS TUF B550M Plus WIFI + Corsair Vengeance RGB RT KIT
- Hikvision DS-K1T201AMF ujjlenyomatos beléptető terminál
- Xbox Elite Series 2 kontroller 3 hó garancia, számlával!
- Xiaomi Redmi Note 9 128GB, Kártyafüggetlen, 1 Év Garanciával
- 200db+ REFURBISHED - DELL Docking Station WD19, WD19S (akár 3x4K felbontás)
- Gyári DELL, HP, LENOVO,Asus,Fujitsu laptop töltők, 27% ÁFA
- ÁRGARANCIA! Épített KomPhone i5 12400F 16/32/64GB RAM RX 9060 XT 16GB GAMER PC termékbeszámítással
Állásajánlatok
Cég: Laptopműhely Bt.
Város: Budapest
