CERCA
PER MODELLO
FullScreen Chatbox! :)

Utente del giorno: 9mm con ben 2 Thanks ricevuti nelle ultime 24 ore
Utente della settimana: elmegio con ben 7 Thanks ricevuti negli ultimi sette giorni
Utente del mese: bluemask con ben 43 Thanks ricevuti nell'ultimo mese

Visualizzazione dei risultati da 1 a 4 su 4
Discussione:

Errore apertura Database sql

Se questa discussione ti è stata utile, ti preghiamo di lasciare un messaggio di feedback in modo che possa essere preziosa in futuro anche per altri utenti come te!
  1. #1
    Baby Droid


    Registrato dal
    Jul 2012
    Messaggi
    22

    Ringraziamenti
    1
    Ringraziato 0 volte in 0 Posts
    Predefinito

    Errore apertura Database sql

    ciao,
    sto sviluppando una applicazione che prenda dei dati da un webService e crei un database solo che in fare si apertura del database mi da un errore; di seguito il codice del database il logcat
    mydatabase.java
    codice:
    package skolidspeak.test.test;
    
    
    
    import java.sql.Date;
    
    import android.annotation.SuppressLint;
    import android.content.ContentValues;
    import android.content.Context;
    import android.database.Cursor;
    import android.database.sqlite.SQLiteDatabase;
    import android.database.sqlite.SQLiteDatabase.CursorFactory;
    import android.database.sqlite.SQLiteOpenHelper;
    
    public class MyDatabase {  
    
        SQLiteDatabase mDb;
        DbHelper mDbHelper;
        Context mContext;
        private static final String DB_NAME="info5";//nome del db
        private static final int DB_VERSION=1; //numero di versione del nostro db
       
        public MyDatabase(Context ctx){
                mContext=ctx;
                mDbHelper=new DbHelper(ctx, DB_NAME, null, DB_VERSION);   //quando istanziamo questa classe, istanziamo anche l'helper (vedi sotto)    
        }
       
        public void open(){  //il database su cui agiamo è leggibile/scrivibile
                mDb=mDbHelper.getWritableDatabase();
               
        }
       
        public void close(){ //chiudiamo il database su cui agiamo
                mDb.close();
        }
       
       
        //i seguenti metodi servono per la lettura/scrittura del db. aggiungete e modificate a discrezione
    
       
        public void insertanag(String name,String tel1,String ind,String loc,String cap,String prov,String naz,String tipo,String codi,String tel2,String mail,String indop,String locop,String capop,String provop,String nazop){ //metodo per inserire i dati
                ContentValues cv=new ContentValues();
                cv.put(anagMetaData.CODANAG, codi);
                cv.put(anagMetaData.ANAG_NAME_KEY, name);
                cv.put(anagMetaData.ANAG_TEL1_KEY, tel1);
                cv.put(anagMetaData.ANAG_IND_KEY, ind);
                cv.put(anagMetaData.ANAG_LOC_KEY, loc);
                cv.put(anagMetaData.ANAG_CAP_KEY, cap);
                cv.put(anagMetaData.ANAG_PR_KEY, prov);
                cv.put(anagMetaData.ANAG_NAZ_KEY, naz);
                cv.put(anagMetaData.ANAG_TIP_KEY, tipo);
                cv.put(anagMetaData.ANAG_TEL2_KEY, tel2);
                cv.put(anagMetaData.ANAG_INDOP_KEY, indop);
                cv.put(anagMetaData.ANAG_LOCOP_KEY, locop);
                cv.put(anagMetaData.ANAG_CAPOP_KEY, capop);
                cv.put(anagMetaData.ANAG_PROP_KEY, provop);
                cv.put(anagMetaData.ANAG_NAZOP_KEY, nazop);
                cv.put(anagMetaData.ANAG_EMAIL_KEY, mail);
                mDb.insert(anagMetaData.ANAG_TABLE, null, cv);
        }
        
      
        public Cursor fetchAnag(){ //metodo per fare la query di tutti i dati anagrafiche
                return mDb.query(anagMetaData.ANAG_TABLE, null,null,null,null,null,null);              
        }
    
    
        static class anagMetaData { // public static final String ANAG_LOCALOP_KEY = null;
    	// i metadati della tabella anagrafiche, accessibili ovunque
                static final String ANAG_TABLE = "anagrafiche";
                static final String IDANAG= "_id";
                static final String CODANAG = "Codice";
                static final String ANAG_TIP_KEY = "Tipo";
                static final String ANAG_NAME_KEY = "Ragione sociale";
                static final String ANAG_TEL1_KEY = "Telefono 1";
                static final String ANAG_TEL2_KEY = "Telefono 2";
                static final String ANAG_IND_KEY = "Indirizzo";
                static final String ANAG_LOC_KEY = "localita";
                static final String ANAG_CAP_KEY = "CAP";
                static final String ANAG_PR_KEY = "Prov";
                static final String ANAG_NAZ_KEY = "Nazione";
                static final String ANAG_INDOP_KEY = "Indirizzo Operativa";
                static final String ANAG_LOCOP_KEY = "localita Operativa";
                static final String ANAG_CAPOP_KEY = "CAP Operativa";
                static final String ANAG_PROP_KEY = "Provincia Operativa";
                static final String ANAG_NAZOP_KEY = "Nazione Operativa";
                static final String ANAG_EMAIL_KEY = "mail";
      
                
        }  
     
      static final String ANAG_TABLE_CREATE = " CREATE TABLE IF NOT EXISTS "  //codice sql di creazione della tabella anagrafica
                + anagMetaData.ANAG_TABLE + " ("
                + anagMetaData.IDANAG+ " INTEGER PRIMARY KEY AUTOINCREMENT, "
               + anagMetaData.CODANAG + " text not null, "
                + anagMetaData.ANAG_TIP_KEY + " text not null, "
                + anagMetaData.ANAG_NAME_KEY + " text not null, "
                + anagMetaData.ANAG_TEL1_KEY + " text not null, "
                + anagMetaData.ANAG_TEL2_KEY + " text not null, "
                + anagMetaData.ANAG_IND_KEY  + " text not null, "
                + anagMetaData.ANAG_LOC_KEY  + " text not null, "
                + anagMetaData.ANAG_CAP_KEY + " text not null, "
                + anagMetaData.ANAG_PR_KEY + " text not null, "
                + anagMetaData.ANAG_NAZ_KEY + " text not null, "
                + anagMetaData.ANAG_INDOP_KEY + " text not null, "
                + anagMetaData.ANAG_LOCOP_KEY + " text not null, "
                + anagMetaData.ANAG_CAPOP_KEY + " text not null, "
                + anagMetaData.ANAG_PROP_KEY + " text not null, "
                + anagMetaData.ANAG_NAZOP_KEY + " text not null, "
                + anagMetaData.ANAG_EMAIL_KEY + " text not null "+");";
       
    
         class DbHelper extends SQLiteOpenHelper { //classe che ci aiuta nella creazione del db
    
                public DbHelper(Context context, String name, CursorFactory factory,int version) {
                        super(context, name, factory, version);
                }
    
              
    
    			@Override
                public void onCreate(SQLiteDatabase _db) { //solo quando il db viene creato, creiamo le tabelle
                        _db.execSQL(ANAG_TABLE_CREATE);
                      
                }
    
                @Override
                public void onUpgrade(SQLiteDatabase _db, int oldVersion, int newVersion) {
                        //qui mettiamo eventuali modifiche al db, se nella nostra nuova versione della app, il db cambia numero di versione
    
                }
    
        }
               
    
    }
    Grazie
    Ciao Renato

  2.  
  3. #2
    Baby Droid


    Registrato dal
    Jul 2012
    Messaggi
    22

    Ringraziamenti
    1
    Ringraziato 0 volte in 0 Posts
    Predefinito

    Questo è il log cat

    codice:
    07-31 09:50:51.564: D/dalvikvm(450): GC_EXTERNAL_ALLOC freed 75K, 51% free 2672K/5379K, external 1625K/2137K, paused 72ms
    07-31 09:50:58.104: W/ActivityThread(478): Application skolidspeak.test.test is waiting for the debugger on port 8100...
    07-31 09:50:58.166: I/System.out(478): Sending WAIT chunk
    07-31 09:50:58.294: I/dalvikvm(478): Debugger is active
    07-31 09:50:58.415: I/System.out(478): Debugger has connected
    07-31 09:50:58.415: I/System.out(478): waiting for debugger to settle...
    07-31 09:50:58.624: I/System.out(478): waiting for debugger to settle...
    07-31 09:50:58.824: I/System.out(478): waiting for debugger to settle...
    07-31 09:50:59.024: I/System.out(478): waiting for debugger to settle...
    07-31 09:50:59.224: I/System.out(478): waiting for debugger to settle...
    07-31 09:50:59.435: I/System.out(478): waiting for debugger to settle...
    07-31 09:50:59.634: I/System.out(478): waiting for debugger to settle...
    07-31 09:50:59.834: I/System.out(478): waiting for debugger to settle...
    07-31 09:51:00.034: I/System.out(478): waiting for debugger to settle...
    07-31 09:51:00.244: I/System.out(478): waiting for debugger to settle...
    07-31 09:51:00.445: I/System.out(478): waiting for debugger to settle...
    07-31 09:51:00.688: I/System.out(478): waiting for debugger to settle...
    07-31 09:51:00.908: I/System.out(478): waiting for debugger to settle...
    07-31 09:51:01.121: I/System.out(478): waiting for debugger to settle...
    07-31 09:51:01.344: I/System.out(478): waiting for debugger to settle...
    07-31 09:51:01.557: I/System.out(478): waiting for debugger to settle...
    07-31 09:51:01.784: I/System.out(478): waiting for debugger to settle...
    07-31 09:51:02.025: I/System.out(478): debugger has settled (1423)
    07-31 09:51:04.674: D/dalvikvm(478): GC_EXTERNAL_ALLOC freed 77K, 51% free 2672K/5379K, external 1625K/2137K, paused 72ms
    07-31 09:51:06.404: W/KeyCharacterMap(478): No keyboard for id 0
    07-31 09:51:06.404: W/KeyCharacterMap(478): Using default keymap: /system/usr/keychars/qwerty.kcm.bin
    07-31 09:51:50.704: I/Database(478): sqlite returned: error code = 1, msg = near "1": syntax error
    07-31 09:51:50.704: E/Database(478): Failure 1 (near "1": syntax error) on 0x35c658 when preparing ' CREATE TABLE IF NOT EXISTS anagrafiche (_id INTEGER PRIMARY KEY AUTOINCREMENT, Codice text not null, Tipo text not null, Ragione sociale text not null, Telefono 1 text not null, Telefono 2 text not null, Indirizzo text not null, localita text not null, CAP text not null, Prov text not null, Nazione text not null, Indirizzo Operativa text not null, localita Operativa text not null, CAP Operativa text not null, Provincia Operativa text not null, Nazione Operativa text not null, mail text not null );'.
    07-31 09:52:01.074: D/dalvikvm(478): Debugger has detached; object registry had 642 entries
    07-31 09:52:01.074: I/dalvikvm(478): ignoring registerObject request in thread=1
    07-31 09:52:01.074: I/dalvikvm(478): ignoring registerObject request in thread=1
    07-31 09:52:01.074: D/AndroidRuntime(478): Shutting down VM
    07-31 09:52:01.074: W/dalvikvm(478): threadid=1: thread exiting with uncaught exception (group=0x40015560)
    07-31 09:52:01.104: E/AndroidRuntime(478): FATAL EXCEPTION: main
    07-31 09:52:01.104: E/AndroidRuntime(478): android.database.sqlite.SQLiteException: near "1": syntax error:  CREATE TABLE IF NOT EXISTS anagrafiche (_id INTEGER PRIMARY KEY AUTOINCREMENT, Codice text not null, Tipo text not null, Ragione sociale text not null, Telefono 1 text not null, Telefono 2 text not null, Indirizzo text not null, localita text not null, CAP text not null, Prov text not null, Nazione text not null, Indirizzo Operativa text not null, localita Operativa text not null, CAP Operativa text not null, Provincia Operativa text not null, Nazione Operativa text not null, mail text not null );
    07-31 09:52:01.104: E/AndroidRuntime(478): 	at android.database.sqlite.SQLiteDatabase.native_execSQL(Native Method)
    07-31 09:52:01.104: E/AndroidRuntime(478): 	at android.database.sqlite.SQLiteDatabase.execSQL(SQLiteDatabase.java:1763)
    07-31 09:52:01.104: E/AndroidRuntime(478): 	at skolidspeak.test.test.MyDatabase$DbHelper.onCreate(MyDatabase.java:123)
    07-31 09:52:01.104: E/AndroidRuntime(478): 	at android.database.sqlite.SQLiteOpenHelper.getWritableDatabase(SQLiteOpenHelper.java:126)
    07-31 09:52:01.104: E/AndroidRuntime(478): 	at skolidspeak.test.test.MyDatabase.open(MyDatabase.java:29)
    07-31 09:52:01.104: E/AndroidRuntime(478): 	at skolidspeak.test.test.webservicesync.writedbang(webservicesync.java:385)
    07-31 09:52:01.104: E/AndroidRuntime(478): 	at skolidspeak.test.test.webservicesync$1.onClick(webservicesync.java:286)
    07-31 09:52:01.104: E/AndroidRuntime(478): 	at android.view.View.performClick(View.java:2485)
    07-31 09:52:01.104: E/AndroidRuntime(478): 	at android.view.View$PerformClick.run(View.java:9080)
    07-31 09:52:01.104: E/AndroidRuntime(478): 	at android.os.Handler.handleCallback(Handler.java:587)
    07-31 09:52:01.104: E/AndroidRuntime(478): 	at android.os.Handler.dispatchMessage(Handler.java:92)
    07-31 09:52:01.104: E/AndroidRuntime(478): 	at android.os.Looper.loop(Looper.java:123)
    07-31 09:52:01.104: E/AndroidRuntime(478): 	at android.app.ActivityThread.main(ActivityThread.java:3683)
    07-31 09:52:01.104: E/AndroidRuntime(478): 	at java.lang.reflect.Method.invokeNative(Native Method)
    07-31 09:52:01.104: E/AndroidRuntime(478): 	at java.lang.reflect.Method.invoke(Method.java:507)
    07-31 09:52:01.104: E/AndroidRuntime(478): 	at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:839)
    07-31 09:52:01.104: E/AndroidRuntime(478): 	at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:597)
    07-31 09:52:01.104: E/AndroidRuntime(478): 	at dalvik.system.NativeStart.main(Native Method)
    07-31 09:52:04.464: I/Process(478): Sending signal. PID: 478 SIG: 9
    Ciaooooo

  4. #3
    Senior Droid


    Registrato dal
    Mar 2012
    Messaggi
    326
    Smartphone
    Samsung Galaxy S2

    Ringraziamenti
    0
    Ringraziato 24 volte in 23 Posts
    Predefinito

    Credo tutta nasca dal fatto che i nomi delle tabelle hanno al loro interno degli spazi...

    static final String ANAG_NAME_KEY = "Ragione sociale"; -> "Ragione_sociale"
    static final String ANAG_TEL1_KEY = "Telefono 1"; -> "Telefono_1"
    static final String ANAG_TEL2_KEY = "Telefono 2"; -> "Telefono_2"

    E così anche per gli altri, fai questo tentativo!
    Federico Palmieri
    mailto: superfect@hotmail.it
    Gestione Clienti Premium -> QUI

  5. #4
    Baby Droid


    Registrato dal
    Jul 2012
    Messaggi
    22

    Ringraziamenti
    1
    Ringraziato 0 volte in 0 Posts
    Predefinito

    Quote Originariamente inviato da fedestylah Visualizza il messaggio
    Credo tutta nasca dal fatto che i nomi delle tabelle hanno al loro interno degli spazi...

    static final String ANAG_NAME_KEY = "Ragione sociale"; -> "Ragione_sociale"
    static final String ANAG_TEL1_KEY = "Telefono 1"; -> "Telefono_1"
    static final String ANAG_TEL2_KEY = "Telefono 2"; -> "Telefono_2"

    E così anche per gli altri, fai questo tentativo!
    Grazie domani provo e ti faccio sapere
    ciao
    Renato

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire risposte
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Torna su
Privacy Policy