Ciao, sto realizzando una applicazione con B4J per registrare una serie di eventi che avvengono, per fornire poi il DB contenente la documentazione eventi. Il tutto funziona semplicemente in locale sul PC dove è installato il programma o al massimo copiando DB su altro PC.
Il mio dubbio è che tipo di database usare ?
Il vecchio programma che avevo fatto era in VB6 e usavo Access, ma ora mi sembra un po obsoleto come tipo di DB.
Ciao Luca, il DB si trovera' in una cartella dedicata nel PC.
Chi usera il programma, non ha una richiesta particolare sul formato del DB, basta che sia importabile in Excel o consultabile senza programmi specifici.
Il DB deve contenere molti dati, registo mediamente 1000 eventi giorni per 365 giorni anno, quindi 365000 eventi anno.
Mai piu' ms access Se poi la gestione di tanti eventi significa avere un database pluriennale, valuterei il piu' stabile mysql o mariadb. Ma non ho mai fatto prove. Credo che il vantaggio sia nell'avere un server che gestisce il db esterno al software principale , invece di sqllite che probabilmente e' piu' lento che credio sia gestito internamente. Ma e' solo teoria, non ho fatto pratica di questi aspetti su b4j
Ciao Valentino,
inizialmente avevo pensato anche io a mySql, ma chi installera' ed utilizzera' il programma sono persone molto poco pratiche di PC, quindi fargli installare e avviare un server mySql mi complica un po tutto.
SQLite, ache se piu' lento, sembra piu semplice nella gestione creazione file e posizionamento file DB.
Infatti, non essendo un DBMS vero e proprio, è quello più simile (si fa per dire) ad Access.
Le prestazioni sono molto buone, non avrai problemi. Come detto, alle persone fai installare SQLite Expert Personal ed hai risolto.
Ho iniziato ad integrare SQLite nel programma eventi, non male . Grazie per il suggerimento.
Visto che ci sono altro problemino... la gestione della Data.
Il campo "Date" del SQLite prevede il formato YYYY-MM-dd ma a me farebbe piu comodo il formato GG-MM-AAAA, come fare ??
Si puo cambiare l'impostazione del DB SQLite o devo fare una conversione sia leggendo che scrivendo il valori ?
Guardi (notare il lei ma scherzoso ), personalmente preferisco usare il formato anno mese giorno per questioni di ordinamento (ed è leggibile).
Probabilmente si dovrebbe usare un Long, ovvero quello restituito dalla funzione DateTime.DateParse di B4A (in effetti, l'ordinamento dovrebbe funzionare ugualmente).
Puoi anche sfruttare la proprietà:
DateTime.DateFormat("dd/MM/yyyy")
per la visualizzazione / immissione da parte dell'utente e poi reimpostare MM/dd/yyyy quando salvi nel DB.
Aiuto ....
Il mio programma con il SQlite procede e cresce, ora pero mi si è creato un problema che non riesco a risolvere.
Se il database esiste, tutto ok, ma qualora non esistesse, come creare il file Database.db ?
So verificare se il file esiste o meno, so creare le table all'interno del file, ma non riesco a creare il file .DB
Sinceramente preferisco crearlo da programma pc e poi gestirlo tramite app.
L'idea di crearlo direttamente da app mi è venuta pensando alla circostanza in cui per errore cancellassero, rinominassero o spostasseo il file. Cosi che all'avvio del programma se il file non è presente , il programma se lo autogenera.
Se hai qualche suggerimento è ben accetto.
P.S. il File Databese è a disposizione del cliente per consultarlo o svilupparci statistiche.