Autore Topic: ordinamento crescente stringa  (Letto 761 volte)

Offline EnzoCurky

  • Gamberetto
  • *
  • Post: 13
    • Mostra profilo
ordinamento crescente stringa
« il: 03 Febbraio 2010, 11:56:35 »
ciao a tutti... :) :)

Ho un DB contenenti due campi codice e cognome rispettivamente string, solo ke nel campo codice inserisco solo valori numerici.Il problema nasce quando eseguo le query xke se la eseguo ordinando x cognome va tutto bene,mentre se la eseguo ordinando x il campo codice mi succede questo:

select * from clienti order by codice

codice = 1     cognome = rossi
codice = 10    cognome = bianchi
codice = 2     cognome = di lauria
codice = 3     cognome = baggio

mentre deve essere:

codice = 1     cognome = rossi
codice = 2     cognome = di lauria
codice = 3     cognome = baggio
codice = 10    cognome = bianchi

come posso fare?

Offline fsurfing

  • Moderatore
  • Senatore Gambero
  • *****
  • Post: 2.482
    • Mostra profilo
Re: ordinamento crescente stringa
« Risposta #1 il: 03 Febbraio 2010, 12:50:07 »
imposta i codici con lo stesso numero di cifre es 01 02 ...10 11 ecc oppure 001 002 003 10
oppure il campo codice durante la creazione della tabella lo imposti come numerico

Offline EnzoCurky

  • Gamberetto
  • *
  • Post: 13
    • Mostra profilo
Re: ordinamento crescente stringa
« Risposta #2 il: 03 Febbraio 2010, 19:16:31 »
dichiarando il campo codice integer ho riscontrato dei problemi nell'inserimento dei dati in quanto nn posso inserire un dato ke scelgo io ma in automatico viene incrementato da solo....

oltre a integer come posso dichiarare il mio campo codice?...esiste numeric o qlks di simile ke nn continui a darmi lo stesso problema di integer?ho provato a dichiararlo string ma ho il problema ke ho spiegato sopra...

consigli?

Offline fsurfing

  • Moderatore
  • Senatore Gambero
  • *****
  • Post: 2.482
    • Mostra profilo
Re: ordinamento crescente stringa
« Risposta #3 il: 03 Febbraio 2010, 19:45:43 »
puoi benissimo impostarlo come integer però in questo caso ti conviene anche dichiarare un altro campo integer primary key che si chiami id, per primo, in alternativa impostalo come NUMERIC
« Ultima modifica: 03 Febbraio 2010, 19:47:18 da fsurfing »

Offline Picavbg

  • Senatore Gambero
  • ******
  • Post: 1.620
    • Mostra profilo
Re: ordinamento crescente stringa
« Risposta #4 il: 03 Febbraio 2010, 22:40:55 »
puoi benissimo impostarlo come integer però in questo caso ti conviene anche dichiarare un altro campo integer primary key che si chiami id, per primo, in alternativa impostalo come NUMERIC

chiedo scusa a fsurfing, ma anch'io ho avuto un problema di chiave primaria disordinata pur impostando il campo relativo INTEGER. Ho visto infatti che questo succede se gli inserimenti in tabella vengono effettuati non utlilizzando l'istruzione  $Conn.EXEC("INSERT INTO nome-tabella values(" bla.. bla.. bla"), ma l'istruzione  NomeRec.Update di Gambas.
Utilizzando però la suddetta $Conn.exec, ho notato che la tabella viene vista sempre ordinata per chiave primaria. Naturalmente, come dici tu, occorre definire il type del campo come INTEGER.
Ciao.
:ciao: