Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 15

Discussione: Algoritmo Autocodice

  1. #1
    Utente di HTML.it
    Registrato dal
    Aug 2013
    Messaggi
    158

    Algoritmo Autocodice

    Premessa non ho trovato nessun post dove presentarsi,comunque sono Paolo e ho da poco intrapreso la via di Java da Autodidatta,perciò abbiate pazienza.



    Buon giorno a tutti vorrei realizzare un programma collegato a un database Sql,ve lo descrivo brevemente,devo immettere in una scheda prodotto CODICE,DESCRIZIONE,DATA ecc ecc.Vorrei fare in modo che il codice venga autogenerato in modo che quando si apre la scheda di inserimento articolo venga generato in una textfield,So che con la libreria math.random si puo autogenerare un codice casuale da range a range,Potete darmi qualche consiglio esiste del codice di esempio da qualche parte??


    Grazie a tutti

  2. #2
    Utente di HTML.it L'avatar di Alex'87
    Registrato dal
    Aug 2001
    residenza
    Verona
    Messaggi
    5,802
    Una cosa del genere:

    codice:
    java.util.Random randomGenerator = new java.util.Random();
    
    int min = 10;
    int max = 100;
    
    // genera un numero pseudo casuale nell'intervallo chiuso [min, max]
    int n = min + randomGenerator.nextInt(max - min + 1);
    nextInt(x) ti da un numero compreso nell'intervallo tra 0 (incluso) e x (escluso). Se vuoi un numero tra 0 e 100 devi fare nextInt(101)

    Per stabilire l'estremo sinistro devi fare a mano
    SpringSource Certified Spring Professional | Pivotal Certified Enterprise Integration Specialist
    Di questo libro e degli altri (blog personale di recensioni libri) | ​NO M.P. TECNICI

  3. #3
    Utente di HTML.it
    Registrato dal
    Aug 2013
    Messaggi
    158
    Originariamente inviato da Alex'87
    Una cosa del genere:

    codice:
    java.util.Random randomGenerator = new java.util.Random();
    
    int min = 10;
    int max = 100;
    
    // genera un numero pseudo casuale nell'intervallo chiuso [min, max]
    int n = min + randomGenerator.nextInt(max - min + 1);
    nextInt(x) ti da un numero compreso nell'intervallo tra 0 (incluso) e x (escluso). Se vuoi un numero tra 0 e 100 devi fare nextInt(101)

    Per stabilire l'estremo sinistro devi fare a mano
    Grazie Ottimo direi è propio quello a cui stavo pensando.
    HO un'altra domanda come faccio a far si che sia univoco nel database?forse ogni volta che si avvia il metodo potrei fare partire un controllo sul database o rallenterebbe il tutto.

    Grazie della risposta

  4. #4
    Utente di HTML.it L'avatar di andbin
    Registrato dal
    Jan 2006
    residenza
    Italy
    Messaggi
    18,284
    Originariamente inviato da Nio74
    HO un'altra domanda come faccio a far si che sia univoco nel database?
    Se deve essere univoco allora un valore "casuale", se è ripetibile (e per Random è così, non sono valori "unici"), non va ovviamente bene.

    Certo, nessuno ti vieta di fare un controllo su db per vedere se c'è già ma .... la tua applicazione è multi-utente (nel senso che più utenti possono lavorarci contemporaneamente)?
    Perché se anche generi il valore e verifichi su db, se il valore lo fai solo vedere all'utente, quel codice non è ancora diventato persistente, quindi un altro utente potrebbe prenderlo pure lui!
    Andrea, andbin.devSenior Java developerSCJP 5 (91%) • SCWCD 5 (94%)
    java.util.function Interfaces Cheat SheetJava Versions Cheat Sheet

  5. #5
    Ma a questo punto non potresti usare l'indice autoincrement della tabella?
    se proprio vuoi vedere l'ID sul textfield, quando entri nella gestione crei una riga vuota nella tabella e ti prendi l'ID(che viene generato e incrementato automaticamente), poi all'atto della memorizzazione invece di fare un insert fai un update...se invece l'operazione viene abortita cancelli la riga tanto già hai l'id, così non avresti problemi nel caso di codici doppi.
    I computer sono incredibilmente veloci, accurati e stupidi.
    Gli uomini sono incredibilmente lenti, inaccurati e intelligenti.
    Insieme sono una potenza che supera l'immaginazione.

    A.Einstein

  6. #6
    Utente di HTML.it
    Registrato dal
    Aug 2013
    Messaggi
    158
    Originariamente inviato da andbin
    Se deve essere univoco allora un valore "casuale", se è ripetibile (e per Random è così, non sono valori "unici"), non va ovviamente bene.

    Certo, nessuno ti vieta di fare un controllo su db per vedere se c'è già ma .... la tua applicazione è multi-utente (nel senso che più utenti possono lavorarci contemporaneamente)?
    Perché se anche generi il valore e verifichi su db, se il valore lo fai solo vedere all'utente, quel codice non è ancora diventato persistente, quindi un altro utente potrebbe prenderlo pure lui!
    E' Vero l'applicazione è multiutente,

    Ma a questo punto non potresti usare l'indice autoincrement della tabella?
    se proprio vuoi vedere l'ID sul textfield, quando entri nella gestione crei una riga vuota nella tabella e ti prendi l'ID(che viene generato e incrementato automaticamente), poi all'atto della memorizzazione invece di fare un insert fai un update...se invece l'operazione viene abortita cancelli la riga tanto già hai l'id, così non avresti problemi nel caso di codici doppi.
    Questo mi piace ma di questo autoincrement non ne ho mai sentito parlare fino ad ora di sql conosco i comandi principali (INSERT,UPDATE ecc ecc)ma mi sa che si possono fare tante altre cose devo trovare una guida seria,però che sia orientata a Java,qualche consiglio?Ora vado a veder un po se trovo info sul tuo suggerimento.

    Grazie a tutti per le info è la prima volta che nella mia modesta esperienza nell'ambito della programmazione (Python) trovo un forum con persone gentili.

  7. #7
    Originariamente inviato da Nio74
    E' Vero l'applicazione è multiutente,



    Questo mi piace ma di questo autoincrement non ne ho mai sentito parlare fino ad ora di sql conosco i comandi principali (INSERT,UPDATE ecc ecc)ma mi sa che si possono fare tante altre cose devo trovare una guida seria,però che sia orientata a Java,qualche consiglio?Ora vado a veder un po se trovo info sul tuo suggerimento.

    Grazie a tutti per le info è la prima volta che nella mia modesta esperienza nell'ambito della programmazione (Python) trovo un forum con persone gentili.
    SQL orientato a Java uhm.....
    Tralasciando il sarcasmo, java è sql sono due cose a se stanti cioè sono due linguaggi, il primo di programmazione è l'altro di iterazione con un RDBMS.
    Per quanto riguarda un guida sql (tralasciando il fatto che non hai menzionato il database che usi), usando la mia magica sfera di cristallo suppongo che stai usando MYSQL e per quest'ultimo trovi un ottima guida qui.
    Occhio che se scegli la soluzione di effettuare un insert (per usare l'autoincrement) dovrai anche preoccuparti che nella parte di visualizzazione questa riga non venga vista.

  8. #8
    Utente di HTML.it L'avatar di Alex'87
    Registrato dal
    Aug 2001
    residenza
    Verona
    Messaggi
    5,802
    Originariamente inviato da Nio74
    Grazie Ottimo direi è propio quello a cui stavo pensando.
    HO un'altra domanda come faccio a far si che sia univoco nel database?forse ogni volta che si avvia il metodo potrei fare partire un controllo sul database o rallenterebbe il tutto.

    Grazie della risposta
    Questo ID deve essere visibile fin da subito all'utente?

    Pensavo ad una cosa del genere:

    - apri la scheda prodotto: tutti i campi (id compreso) sono vuoti
    - quando andrai a inserire a DB sarà il DB stesso ad assegnare l'id (la tua colonna sarà quindi un AUTO INCREMENT (a secondo del tipo di DB (oracle, mysql, sqlite...) il nome può cambiare)
    SpringSource Certified Spring Professional | Pivotal Certified Enterprise Integration Specialist
    Di questo libro e degli altri (blog personale di recensioni libri) | ​NO M.P. TECNICI

  9. #9
    Utente di HTML.it
    Registrato dal
    Aug 2013
    Messaggi
    158
    Originariamente inviato da francesco.muia
    SQL orientato a Java uhm.....
    Tralasciando il sarcasmo, java è sql sono due cose a se stanti cioè sono due linguaggi, il primo di programmazione è l'altro di iterazione con un RDBMS.
    Per quanto riguarda un guida sql (tralasciando il fatto che non hai menzionato il database che usi), usando la mia magica sfera di cristallo suppongo che stai usando MYSQL e per quest'ultimo trovi un ottima guida qui.
    Occhio che se scegli la soluzione di effettuare un insert (per usare l'autoincrement) dovrai anche preoccuparti che nella parte di visualizzazione questa riga non venga vista.
    Originalmente ho cominciato con un database mysql però ho un problema che non sono riuscito a risolvere,spiego,io sono un trentanovenne con la voglia di imparare a programmare però faccio tutt'altro per lavoro,ogni tanto mi capita che riesco a ritagliarmi delle pause nell'arco della giornata tenendo conto che faccio minimo 10 ore di lavoro,allora la mia distrazione è appunto java,però in ufficio ho windows e a casa ho mac e già li trovare il sistema per far girare il tutto su due piattaforme So diverse non è poi sempre cosi facile allora i miei progetti li ho su Dropbox e siccome mysql non sono riuscito a capire come fare a trasportarlo in due SO diversi(o forse è stata una mia pigrizia)ho trovato che Firefox ha un Bel plugin per fare i database (Sqllite Menager) ed ho semplicemente salvato il file nella directory del progetto e tutto si è semplificato.Se Qualcuno ha da suggerirmi un metodo migliore sono sempre pronto a imparare.

  10. #10
    Utente di HTML.it
    Registrato dal
    Aug 2013
    Messaggi
    158
    Originariamente inviato da Alex'87
    Questo ID deve essere visibile fin da subito all'utente?

    Pensavo ad una cosa del genere:

    - apri la scheda prodotto: tutti i campi (id compreso) sono vuoti
    - quando andrai a inserire a DB sarà il DB stesso ad assegnare l'id (la tua colonna sarà quindi un AUTO INCREMENT (a secondo del tipo di DB (oracle, mysql, sqlite...) il nome può cambiare)
    Alex ci stavo arrivando ho appena concluso che se inserisco i campi senza inserire l'id la tabella autoincrementa in automatico l'ID.
    Però L'inghippo si fa sempre piu fitto,perchè il codice che voglio assegnare ai miei articoli dovrà diventare un codice a barre perciò devo fare si che venga impresso sul codice es (100235432_ 54326)la prima parte dovrebbe essere legata al'Id della tabella mentre la seconda è il prezzo camuffato cioè 54326 il primo e l'ultimo numero non servono a nulla mentre 432 è il prezzo e logicamente il 5 e il 6 nella prossima etichetta dovranno essere diversi.Devo analizzare i tipi di codice a barre per capire se si può fare.Questa è la parte piu complessa del Programma per il resto statistiche stampe ecc ho già un po di idee.

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.