Upit koji će ispisivati sve, osim posljednjeg?

poruka: 40
|
čitano: 7.549
|
moderatori: XXX-Man, vincimus
+/- sve poruke
ravni prikaz
starije poruke gore
17 godina
offline
RE: Upit koji će ispisivati sve, osim posljednjeg?
tnakir kaže...

Vidim da ne poznajes materiju dovoljno... iole ozbiljniji web sajtovi imaju poprilican broj upita gdje i mySQL ima problema sa lose izvedenim bazama podataka. Access baze su eto... da firma ima  nekakav adresar ili sta ja znam sta, u koliko je koristi u ozbiljnije svrhe bilo tko ko se malo ozbiljnije bavi programiranjem ce ti se nasmijati.

Druga stvar, za access bazu (pristup sa vise racunala i slicno) moras mapirati diskove i slicno (dakle sa vise razlicitih racunala pristupati istoj bazi).

Trece, MS SQL i .mdb... ja izbjegavam takav pristup... radije radim bazu direktno na serveru i pristupam njoj preko servisa.........

....

 A dobro sad smo malo krenuli u krive vode. Po meni prije nego je uopće bilo SqLite ili Firebird (za one koje neznaju, to je punokrvna sql prijenosna baza podataka, ali je mucho velika i dosta komplicirana, meni je to bilo malo previše zajebancije), Access je bio kralj prijenosnih baza podataka. Isto tako za većinu "lakših" stvari Access je još uvijek jako dobar. Recimo da svaki korisnik (recimo da ih je 100) mora imati indvidualan pristup bazi podataka, nema mogućnosti pristupa mreži, a mora raditi na bazi. Tu ti dolazi Access s kojim je najlakše napraviti replikaciju sa centralnog "SQL servera" na neku od tih baza. Korisnik ima bazu (tj. dio baze koji mu treba), može nesmetano raditi, kad se drugi puta spoji na net, si ju update-a sa podacima itd. Sad da se svima korisnicima instalira 100 sql servera sa 100 licenca, je malo blesavo. Korisnici i ovako i onako trebaju samo mali dio onoga što prava baza treba (rade samo INSERT, UPDATE, DELETE, SELECT)...

Radio sam u jednoj firmi koja je implementirala svoj software sa takvom solucijom. Po nekad je znalo biti više od 100 tablica sa masom podataka, baze su bile velićine par stotina MB-a (Access), sve je radilo malo sporije nego na centralnom kompu ali je radilo ispravno....

Sve ovisi o tome za što ti treba, mislim da nitko nije tvrdio da se za WebServis ili za Web Stranicu koristi Access, tu naravno da ima boljih rješenja
"Genius might be the ability to say a profound thing in a simple way." Charles Bukowski
17 godina
protjeran
offline
RE: Upit koji će ispisivati sve, osim posljednjeg?
dado2202 kaže...
Tracer kaže...
dado2202 kaže...

Ima još i sqLite. Meni je bolji za ono što mi treba od Access-a, ali istina je da je Access jedina "prava" prenosiva baza podataka. Imam malo više opcija od SqLite-a, ali ovaj se razvija dosta brzo, bude dostigao Access.

Može se na nju spojiti preko ADO komponenti? Bez ODBC-a?
Ima ADO konektor ali samo za .NET


ali piše i ovo na stranici, pa onda možda radi i sa ostalima, radio sam samo sa C#

Supports the Full and Compact .NET Framework as well as native C/C++
Whether you're programming in .NET or straight C/C++ on the desktop or a mobile device, we've got a build for you.

EDIT:
Koliko sam ja to vidio, to je bio Wrapper oko glavnog dll-a koji se koristi za pristup, a budući da sam ja svoj napisao za C# (prije nego sam saznao da ovaj uopće postoji), nisam se baš igrao previše
 Konkretno zanima me da li moram zasebno instalirati neki klijent da bi mogao preko UDL-a napraviti connection string ili koristim neki već ugrađeni?
17 godina
protjeran
offline
RE: Upit koji će ispisivati sve, osim posljednjeg?
Kiki kaže...
Tracer kaže...
Kiki kaže...
Tracer kaže...

ID ne ide nužno po redu i zato to rješenje nije dobro.

 Dali mi možeš, molim te, pojasniti malo tvoju tvrdnju? Pogotovo ono žuto.
Nisam siguran da baš razumjem.

Hvala
 U praksi ID ne ide nužno po redu. Primjerice, imam u firmi 3 svoje access baze s preko 10 000 zapisa i u svakoj od njih prvih par stotina zapisa ID ide po redu dok u jednom trenutku ID krene od 65536 prema nazad. Sada je negdje i prema sredini, i da budem iskren nemam pojma odakle bi sad krenuo kad bi dodao novi zapis.

Zato bi možda najbolje bilo da se kreira kolona tipa timestamp (rowversion) ili datetime pa da se prema tome sortiraju zapisi i izuzme ovaj zadnji.
 Ok, shvačam šta želiš reći.
unsigned integer ima takvo ograničenje (2^16).
treba polje koje je autonumber staviti kao long integer ili neki drugi tip podataka koji zadovoljava uvijete.


 Nije u tome problem već što preko ID-a ne možeš sa sigurnošću znati koji je zadnji zapis.
17 godina
offline
Upit koji će ispisivati sve, osim posljednjeg?

Kolko sam ja upoznat (Visual studio 2008) nema ugrađeni ADO adapter ,treba instalirati ovaj klijent ili neki drugi.

"Genius might be the ability to say a profound thing in a simple way." Charles Bukowski
Poruka je uređivana zadnji put pon 23.2.2009 13:02 (dado2202).
 
0 0 hvala 0
16 godina
neaktivan
offline
RE: Upit koji će ispisivati sve, osim posljednjeg?
Tracer kaže...
tnakir kaže...

Vidim da ne poznajes materiju dovoljno... iole ozbiljniji web sajtovi imaju poprilican broj upita gdje i mySQL ima problema sa lose izvedenim bazama podataka. Access baze su eto... da firma ima  nekakav adresar ili sta ja znam sta, u koliko je koristi u ozbiljnije svrhe bilo tko ko se malo ozbiljnije bavi programiranjem ce ti se nasmijati.

 

Druga stvar, za access bazu (pristup sa vise racunala i slicno) moras mapirati diskove i slicno (dakle sa vise razlicitih racunala pristupati istoj bazi).

 

Trece, MS SQL i .mdb... ja izbjegavam takav pristup... radije radim bazu direktno na serveru i pristupam njoj preko servisa.

 

Cetvrto, sigurnost baze podataka, ako joj mozes pristupit, znaci da je mozes (ugrubo govoreci) i kopirati. Cim je imas na vlastitom racunalu brakein je poprilicno olaksan...

 

Kao sto rekoh, slobodno si je ti koristi, ali ako se iole mislis ozbiljnije baviti sa tim, prebaci se na mysql ili nekakvu drugu verziju tipa SQLite i slicno... (preferiram mySQL radi control panela na web serverima jer je najpodrzanija)

Da ti znaš koliko ozbiljno se ja bavim programiranjem i koliko na tom području imam iskustva ti bi se smijao samom sebi. Štoviše, mogao bi ti držati i instrukcije o bazama jer sam ovdje iznio i više nego previše materije i samo se vidi da si ti taj koji nije upoznat s accessom.

Druga stvar, ne treba se mapirati diskove. Dovoljno je bazu shareati kao najobičniju datoteku.

Treća, to što ti radije koristiš jedan pristup a ne drugi je tvoj osobni izbor i u to ne ulazim. Ja govorim striktno o mogućnostima i specifikacijama access baze.

Četvrto, čim imaš mogućnost da se spojiš na bilo koju bazu odmah zapravo imaš i mogućnost da ju iskopiraš. To nema veze s accessom.

Peto, za web rješenja se mogu složiti da access nije najbolji izbor. Tu u svakom slučaju preferiram server.
 Oprosti na smetnji,al zanima me jesi li ti mozda asistent na TVZ-u?
Commodore 64 , 0.985MHz , 64Kb RAM, VIC II 6567/8567(PAL)
17 godina
protjeran
offline
Upit koji će ispisivati sve, osim posljednjeg?

Nisam još uvijek službeno asistent ali držao sam vježbe. Zašto?

Moj PC  
0 0 hvala 0
17 godina
offline
RE: Upit koji će ispisivati sve, osim posljednjeg?
Tracer kaže...
Da ti znaš koliko ozbiljno se ja bavim programiranjem i koliko na tom području imam iskustva ti bi se smijao samom sebi. Štoviše, mogao bi ti držati i instrukcije o bazama jer sam ovdje iznio i više nego previše materije i samo se vidi da si ti taj koji nije upoznat s accessom.

Druga stvar, ne treba se mapirati diskove. Dovoljno je bazu shareati kao najobičniju datoteku.

Treća, to što ti radije koristiš jedan pristup a ne drugi je tvoj osobni izbor i u to ne ulazim. Ja govorim striktno o mogućnostima i specifikacijama access baze.

Četvrto, čim imaš mogućnost da se spojiš na bilo koju bazu odmah zapravo imaš i mogućnost da ju iskopiraš. To nema veze s accessom.

Peto, za web rješenja se mogu složiti da access nije najbolji izbor. Tu u svakom slučaju preferiram server.
1. onda se ljepo nastavi baviti programiranjem kako si i do sad radio
2. share je share
3. ti si govorio da je MS SQL baza mdf file, ja govorim da nemora bit
4. useri koji nemaju prava na pristup bazi mogu kopirati bazu i odnijeti je kuci sta se kaze... ako imas instaliran access kopiras bazu, uneses sto hoces i kopiras natrag (govorim ako baza nije zasticena). kod pristupa ostalim bazama spajas se na server koji pod broj jedan dodjeljuje prava pristupa odredjenim korisnicima ovisno odakle se spajaju (pravo prema ip adresi), drugo, bazama ne pristupas direktno preko fajla vec preko servisa (dakle preko nekakve ip adrese ili hosta).

Ja mislim da ovo ne vodi nicem, tebi pase access, ok ostani pri njoj, ali nemoj ostale ljude uvjeravati da je to bas ono sto im treba jer to nije istina, access baza se NI U LUDILU NEBI TREBALA KORISITI u komercijalne svrhe niti joj je po meni to namjena.

End of discusion. Moderator molim lock jer ovoj raspravi nema kraja. Nasla se dva zaguljena na suprotnim stranama!
I'm going woo woo
17 godina
protjeran
offline
RE: Upit koji će ispisivati sve, osim posljednjeg?
tnakir kaže...
Tracer kaže...

Ja mislim da ovo ne vodi nicem, tebi pase access, ok ostani pri njoj, ali nemoj ostale ljude uvjeravati da je to bas ono sto im treba jer to nije istina, access baza se NI U LUDILU NEBI TREBALA KORISITI u komercijalne svrhe niti joj je po meni to namjena.

End of discusion. Moderator molim lock jer ovoj raspravi nema kraja. Nasla se dva zaguljena na suprotnim stranama!
S obzirom na specifikacije Accessa i dalje ostajem pri tvrdnji da je to sasvim solidna baza za većinu potreba (pa čak i za komercijalne svrhe) i nema razloga komplicirati s ničim drugim ako to zaista nije potrebno, a kamoli tvrditi da je to loša baza jer slabo radi s 100 000 upita u sekundi. U praksi sumnjam da ćeš možda svega par puta naletjeti na sustav koji će trebati takvu bazu tj. da ćeš uopće ikada imati takve velike zahtjeve.
17 godina
offline
Upit koji će ispisivati sve, osim posljednjeg?

U pravu ste, povlacim sve svoje, odustajem od rasprave...

I'm going woo woo
 
0 0 hvala 0
16 godina
neaktivan
offline
RE: Upit koji će ispisivati sve, osim posljednjeg?

declare @i int

set @i = (select COUNT(id) - 1 from table1)

SELECT TOP (@i) * from table1

... onda


select TOP (@@ROWCOUNT - 1) * from table1

... ima još, ali mislim da je ovo dovoljno

Nova poruka
E-mail:
Lozinka:
 
vrh stranice