arpsoft 12 Share Posted August 8, 2011 Szerintem igen. Link to comment Share on other sites More sharing options...
KGigi 21 Share Posted August 8, 2011 Ha lesz egy kis időm, megpróbálom. Köszönöm! Link to comment Share on other sites More sharing options...
payskin 918 Share Posted August 19, 2011 Van egy tábla, van benne 3 fontos mező... Felejtsétek el. Agyilag a zoknik szintjén tartózkodom... kár, hogy épp határidő van... Link to comment Share on other sites More sharing options...
Kiskalóz 0 Share Posted October 2, 2011 Kéne egy kis segítség.. van 1 táblám benne 3 oszlop nev = varchar(255) datum = date szam = bigint (32) Indítok 1 lekérdezést dátum szerint de nem igazán jo. Kiirattam az SQL parancsot és ezt kaptam: SELECT * FROM tabla WHERE datum > 2011-07-04 Ekkor a tábla teljes tartalmát kiirja (igen a 2011-07-04 elõttieket is) pedig az adatbázisban is így vannak tárolva a dátumok. Mit rontok el? Link to comment Share on other sites More sharing options...
Pjotr 9 Share Posted October 2, 2011 SELECT * FROM tabla WHERE datum > '2011-07-04' Mert egyébként 2000-hez viszonyít szerintem. Link to comment Share on other sites More sharing options...
Kiskalóz 0 Share Posted October 2, 2011 ojeee.. El tudnád magyarázni ez miért van?? (csakhogy meg is értsem ) Mellesleg lenne megint egy kérdésem ezzel kapcsolatban. Egy névhez egy nap több bejegyzés is születhet, eltérõ értékekkel. Namármost azt tudom hogy a név szerint a gropu by-al tudom csoportosítani. Azt meg tudom-e oldani valahogy egyszerûbben hogy egy lekérdezésben nevenként adja össze a szam oszlop értékét az adott idõszakon belül. Jelenleg én ezt 2 lekérdezéssel oldom meg 1. lekérdezem a neveket az adott idõszakon belül.. while ciklussal kiíratom.. és a cikluson belül futtatok ismét 1 sql-t ahol összeadom a szam értékét a feltételeknek megfelelõen. Link to comment Share on other sites More sharing options...
Pjotr 9 Share Posted October 2, 2011 Az SQL a dátumokat (DATE, DATETIME) szövegként képes fogadni. A te kódodban nem szöveget adtál neki, hanem egy matematikai műveletet, amit elvégzett, majd megnézte az eredményhez viszonyítva a dátumokat. Prepared statement-ek esetében is a dátumok mindig 's', vagyis string típusúak. (Lehet még integer, float és blob az adat típusa egyébként.) --- Ha GROUP BY-olsz, akkor használhatod a SUM függvényt. Link to comment Share on other sites More sharing options...
Kiskalóz 0 Share Posted October 2, 2011 Értem! Köszönöm! Link to comment Share on other sites More sharing options...
[OP]Destroy-man 160 Share Posted October 13, 2011 Csak egy gyors elméleti kérdés: Fotógallériát SQL-ben (binárisan képként eltárolva), vagy a meghajtóra elmentve, sql-be bejegyezve az elérhetőségével célszerű eltárolni? Dinamikussan fejlődő, egyre több képet tartalmazó képhalmazról lenne szó. Itt most arra gondolok, hogy melyik teljesítmény kimélőbb módszer. Viszonylag erős vas lesz alatta (2db 2magos Xeon proci 3,06 GHz-es órajellel, 8 GB ram). Az adatbázist egy MSSQL 2008 R2 hajtja. Mégvalami: a képeket a felhasználók töltik fel az oldalra. Link to comment Share on other sites More sharing options...
arpsoft 12 Share Posted October 13, 2011 Én mindenképpen a fájlrendszerben történõ tárolást választanám. Link to comment Share on other sites More sharing options...
[OP]Destroy-man 160 Share Posted October 13, 2011 Köszönöm. Akkor ezek szerint az SQL-es megoldás sokkal jobban terhelné az adatbázist. Vagy csak a gyorsan hízás lenne a problémája? Mondjuk az sem nyerõ. Akkor marad a fájlrendszeres megoldás. Link to comment Share on other sites More sharing options...
Pjotr 9 Share Posted October 13, 2011 Ezt a vasat megenné reggelire az SQL szerver nagy forgalom mellett, az a baj. És ekkor még nem említettem, mi történne, ha a képek SQL-ben lennének. Link to comment Share on other sites More sharing options...
arpsoft 12 Share Posted October 13, 2011 Nekem nem eszi meg. Kb hasonló felállás. Eddig nem sikerült 50%-nál jobban leterhelnem, pedig néha küldöm rendesen. Link to comment Share on other sites More sharing options...
[OP]Destroy-man 160 Share Posted October 17, 2011 MSSQL-ben hogy tudok kettő vagy több mezőnek identitást adni? Jelenleg ezzel szenvedek, mertha bekapcsolom a második mezőn, akkor leveszi az elsőről. Van 3 táblám, példa képen leegyszerüsítve: Főtábla -ID (elsődleges kulcs) -Adat -Tábla1_ID (másodlagos kulcs) -Tábla2_ID (másodlagos kulcs) Tábla1 -ID (elsődleges kulcs) -Főtábla_ID -Adatok Tábla2 -ID (elsődleges kulcs) -Főtábla_ID -Adatok A probléma, hogy a főtáblában 3 identitást is kéne használnom. Egyet az ID-re, egyet a Tábla1_ID-re, és egyet a Tábla2_ID-re. Most csak az elsőnek van identitása, de így nem jó, mert ütközés van a másik kettőn. Ugye duplikálás nem lehetséges. A táblák között működő kapcsolat van. Linq-to-SQL-el kommunikálok a weblap és az SQL között. A hibaüzenet a következő: System.Data.SqlClient.SqlException (0x80131904): Cannot insert explicit value for identity column in table 'Főtábla' when IDENTITY_INSERT is set to OFF. Hogyan lehetne megoldani ezt a csekély problémát? Természetessen a működő SQL táblában nem használok ékezetes betüket. Link to comment Share on other sites More sharing options...
arpsoft 12 Share Posted October 18, 2011 Az Identity mezõkbe nem lehet direktbe beleírni, hacsak nem engedélyezed ezt a funkciót: "SET IDENTITY_INSERT ON". Ezen kívül egy táblában csak egy ID mezõ lehet, nem is kell több. Azt sem értem, miért kéne programból beleírni értékeket, amikor mindegyik identity típusú, a szerver maga intézi ezeket a dolgokat. Vagy az a gondod, hogy amikor létrehozod a fõtábla rekordját, akkor még nincsenek meg a többi táblában az adatok? Akkor meg célszerû lenne egy tárolt eljárással beküldeni az adatokat. Szóval, kicsit konkrétabban le tudnád írni a problémádat? Na, kicsit jobban ránéztam azokra a táblákra. Minek kell a Tábla1_ID, amikor a fõtábla ID már benne van? Ez már egyedivé teszi a rekordot. Link to comment Share on other sites More sharing options...
[OP]Destroy-man 160 Share Posted October 18, 2011 Végülis átgondolva tényleg elég az 1 ID. Akkor probléma megoldva. Link to comment Share on other sites More sharing options...
Dani991 47 Share Posted November 14, 2011 Ti hogyan oldanátok meg egy weboldal menürendszerének az adatbázisban való tárolását? A menürendszer úgy néz ki, hogy több területen helyezkedik el (pl. fejléc alatt vízszintesen, weboldal bal és jobb szélén, stb.), és mindegyik terület kap egy azonosítót, így a sablonkezelõ a késõbbiekben mindent a helyére tesz. Minden ilyen területen belül el lehet helyezni felsorolásos menüket (egyszerû lista linkekkel), illetve dobozokat, amelyekben szöveget vagy akár képet is el lehet helyezni. Azt szeretném megoldani, hogy mindezt egyetlen lekérdezéssel el lehessen érni, a többit majd a PHP szétválogatja. A jelenlegi elképzelésem így néz ki: menuk tábla: id cim terulet tipus 1 Lista1 1 lista 2 Doboz1 1 doboz 3 Lista2 2 lista menu_lista tábla: id menu_id szoveg url 1 1 link1 http:// 2 1 link2 http:// 3 1 link3 http:// 4 3 link1 http:// menu_doboz tábla: id menu_id torzs 1 2 Tetszõleges szöveg... Az elsõ és a második táblát még ki tudom csikarni egy lekérdezéssel, de ha a dobozos menü tábla is beszáll a buliba, akkor már gondban vagyok. Meg lehet egyáltalán oldani egyetlen lekérdezéssel (esetleg a táblák átrendezésével), vagy mindenképpen több lekérdezésre lesz szükség? Link to comment Share on other sites More sharing options...
payskin 918 Share Posted November 14, 2011 Rajzold le, hogy vannak ezek a menük, dobozok, linkek az oldalban... Link to comment Share on other sites More sharing options...
kléni 7 Share Posted November 14, 2011 A SELECT mögé berakod az ugyan olyan nevû mezõk átnevezését ( pl menu_lista.id AS menu_lista_id), így nem lesz gubanc. Link to comment Share on other sites More sharing options...
Dani991 47 Share Posted November 14, 2011 Írtam gyorsan egy vázlatos szemléltetõ példát HTML-ben: kép link. A különbözõ menü területeket pirossal bekereteztem, az azokon belül lévõ menüket pedig kékkel. A fejléc alatti területen látszólag másképpen helyezkedik el a menü, de ugyan úgy tárolódik az adatbázisban, mint a többi, csak értelemszerûen erre a területre csak ez az egy lista fért ki, a címét pedig nem jelenítem meg. Így a késõbbiekben az admin felületen bármelyik menüt bármelyik területre lehet pakolni. A lekérdezés így néz ki: SELECT t1.cim, t1.terulet, t1.tipus, t2.menu_id, t2.szoveg, t2.url FROM menuk AS t1 LEFT JOIN menu_lista AS t2 ON t1.id = t2.menu_id ORDER BY t1.terulet ASC; Ez így jó is lenne, csak éppen nincsen benne a menu_doboz tábla. A problémám pedig az, hogy nem tudom, megoldható-e egyáltalán egy lekérdezéssel az egész, és ha igen, akkor jól vannak-e így kialakítva a táblák, vagy esetleg hatékonyabban is fel lehet ezt építeni? Link to comment Share on other sites More sharing options...
arpsoft 12 Share Posted November 15, 2011 SELECT t1.cim, t1.terulet, t1.tipus, t2.menu_id, t2.szoveg, t2.url FROM menuk AS t1 LEFT JOIN menu_lista AS t2 ON t1.id = t2.menu_id UNION ALL SELECT t1.cim, t1.terulet, t1.tipus, t3.menu_id, t3.torzs, '' as url FROM menuk AS t1 LEFT JOIN menu_doboz AS t3 ON t1.id = t3.menu_id ORDER BY t1.terulet ASC; A PHP meg szétválogatja, mikor melyik mezõket szabad használni. Link to comment Share on other sites More sharing options...
Dani991 47 Share Posted November 15, 2011 Köszi, ez így már jó lesz. Link to comment Share on other sites More sharing options...
[OP]Destroy-man 160 Share Posted August 28, 2012 Access-ben szeretnék egy rekordot átmásolni egy másik táblába, de érvényességi szabályok megsértésére hivatkozva ezt nem teszi meg. Az érdekesség az, hogy nincs is beállítva érvényességi szabályzat, tehát így nehéz lenne azt megszegni. Az eredeti tábla neve szall_t, a másolaté pedig archiv. Az utóbbi táblát sima struktúra másolással hoztam létre, tehát 1:1 a két tábla. Az archív táblához majd szeretnék hozzáadni a date típusú mezőt, ami a létrejöttét tárolná, de ezen kívül mást nem fog kapni. Az általam próbált SQL kód: INSERT INTO archiv SELECT * FROM szall_t WHERE (((szall_t.[azonosító])=[@id])); Mi okozhat ilyen jellegű hibát? Link to comment Share on other sites More sharing options...
KGigi 21 Share Posted August 28, 2012 Mi van, ha kiírod az oszlopok nevét? Mi a pontos hibaüzenet? Link to comment Share on other sites More sharing options...
arpsoft 12 Share Posted August 28, 2012 Valószínûleg van egy autoincrement ID mezõd a táblákban. Azt nem tudja beszúrni. Link to comment Share on other sites More sharing options...
Recommended Posts
Create an account or sign in to comment
You need to be a member in order to leave a comment
Create an account
Sign up for a new account in our community. It's easy!
Register a new accountSign in
Already have an account? Sign in here.
Sign In Now