Novo

Forum kao aplikacija na telefonu

Dodajte forum na početni ekran i koristite ga kao aplikaciju, sa menijem na dnu ekrana.

  • 7 odgovora
  • 3.341 pregleda

Najnovija ↓

Zadnja vrijednost ... ? 22.12.2006. u 07:35 · pre 241 mesec #1
E ovako: U jednoj tabeli imam dvije kolone ID i recimo ime. ID je PK i on je auto increment. E sad kako da ja pročitam zadnji dodan broj ID, dakle koji se zadnji dodao u tablicu, ali samo ID, ne od imena, samo ID.
Inače koristim C# i MSSQL, preko table adaptera sa datasetom!

To mi treba da u text box dobijem zadnju vrijednost od ID-a. Jel to radim preko nekog SQL upita ili ... ?

Hvala
Re: Zadnja vrijednost ... ? 22.12.2006. u 08:00 · pre 241 mesec #2
Code:

//konekcija kon, query string sSQL1
SqlCommand komanda = new SqlCommand(sSQL1,kon);
        //ovde npr. dodaješ neke parametre i izvršavaš upit sSQL1
        komanda.Parameters.Clear();
        komanda.CommandText = "SELECT @@IDENTITY"; 
        int odgovorNID = Convert.ToInt32(komanda.ExecuteScalar()); //To je novi ID

Re: Zadnja vrijednost ... ? 22.12.2006. u 08:07 · pre 241 mesec #3
A d ali bi moglo sa ovim SQL izrazom:


SELECT MAX(id) as MaxVrijednost
FROM tablica


I textBox bindujem, fillujem gdje mi treba i to je to. Mogu komotno da koristim vrijednost iz TextBoxa gdje mi treba.
Re: Zadnja vrijednost ... ? 22.12.2006. u 08:14 · pre 241 mesec #4
Netrebas postovati ako znas odgovor.
Potpis
logic_rabbit (MCAD,MCSD,MCT,MCTS-
Windows development,MCPD)
Re: Zadnja vrijednost ... ? 22.12.2006. u 08:21 · pre 241 mesec #5
Da ali jako sam ne siguran, u ovo što radim, uvijek mislim da može bolje i da ovo ne valja. :) Pa zato volim kad mi netko potvrdi.
Re: Zadnja vrijednost ... ? 22.12.2006. u 14:07 · pre 241 mesec #6
Sve zavisi sta radis. Ako radis windows aplikaciju koju ce koristiti jedan korisnik (tj. ako bazu ne deli vise korisnika) onda je to sa max prihvatljivo resenje (ili ovo resenje koje je ponudio maksvel, to je isto).
Sa druge strane, ako radis web aplikaciju koju ce koristiti vise korisnika, onda je to potpuno pogresno resenje (dva korisnika upisu podatke u isto vreme).
Bas za ovakve slucajeve postoji @@IDENTITY promenljiva u SQL-u. Ona ti vraca vrednost poslednje generisanog id-a. Uvek ga koristi tako sto ces u istom sql skriptu (storovanoj, skript u QA i sl.) procitati kao sledecu liniju posle insert-a. Samo tako si siguran da imas pravu vrednost.
Potpis
Every hamster has his day.
Re: Zadnja vrijednost ... ? 22.12.2006. u 14:31 · pre 241 mesec #7
Mali time break

Citat:

Sve zavisi sta radis. Ako radis windows aplikaciju koju ce koristiti jedan korisnik (tj. ako bazu ne deli vise korisnika) onda je to sa max prihvatljivo resenje (ili ovo resenje koje je ponudio maksvel, to je isto).
Sa druge strane, ako radis web aplikaciju koju ce koristiti vise korisnika, onda je to potpuno pogresno resenje (dva korisnika upisu podatke u isto vreme).


Pa zbog toga bi trebao da koristi transakcije. Skoro sve operacije koje radi treba da budu u okviru transakcije, cak mozda za pocetak je i najbolje da koristi uvek transakcije osim ako nije samo jedan kveri u pitanju, tako ce manje pogresiti nego da ih ne koristi :D

Sto se tice @@IDENTITY, ako radi u SQL 2005 onda neka i njega zaobidje i neka koristi SCOPE_IDENTITY, sigurnije je.
Re: Zadnja vrijednost ... ? 22.12.2006. u 14:55 · pre 241 mesec #8

http://codebetter.com/blogs/jo...archive/2006/04/07/142503.aspx

imas tonu toga na netu i u dokumentaciji koja ide uz ms sql. Prijateljski savet... potrudi se bar malo pre nego sto postujes ovde ;-)
Potpis
Ja verujem da svim elektricnim stvarima dim daje zivot, kad ih on jednom napusti tesko da ce vise ikad da rade.
Prijavite se da biste odgovorili u ovoj temi.PrijavaRegistracija

Premeštanje teme