Autore Topic: Errore di inserimento dati in un database.  (Letto 734 volte)

Offline tank

  • Nuovo arrivato
  • *
  • Post: 23
  • Respect: 0
    • Mostra profilo
Errore di inserimento dati in un database.
« il: 21 Ottobre 2012, 03:46:26 CEST »
0
Salve! Ho un problema con un database locale: quando parte la mia app, se cerco di visualizzare il database, va tutto in errore e crasha. Non sono molto esperto, e per quanto ho capito dal logcat, c'è un problema di inserimento di dati dal database locale alla listview, in quanto non trova delle colonne dicendo che non esistono o roba del genere o_O ad ogni modo...vi posto i codici.

Il database.
Codice (Java): [Seleziona]
package com.example.lamiapp;

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 Databasesoluzioni {
        SQLiteDatabase sDb;
    DbHelper sDbHelper;
    Context sContext;
    private static final String DB_NAME="soluzionidb";//nome del db
    private static final int DB_VERSION=2; //numero di versione del nostro db
   
    public Databasesoluzioni(Context ctx2){
            sContext=ctx2;
            sDbHelper=new DbHelper(ctx2, DB_NAME, null, DB_VERSION);    
    }
   
    public void open(){  //il database su cui agiamo è leggibile/scrivibile
            sDb=sDbHelper.getWritableDatabase();
           
    }
   
    public void close(){ //chiudiamo il database su cui agiamo
            sDb.close();
    }
   
   
    //i seguenti 2 metodi servono per la lettura/scrittura del db. aggiungete e modificate a discrezione
   // consiglio:si potrebbe creare una classe Prodotto, i quali oggetti verrebbero passati come parametri dei seguenti metodi, rispettivamente ritornati. Lacio a voi il divertimento

   
    public void insertSoluzione(String tipo, String linea, String partenza, String arrivo, String tempo, String ora){ //metodo per inserire i dati
            ContentValues boh=new ContentValues();
            boh.put(SoluzioneMetaData.TIPO_KEY, tipo);
            boh.put(SoluzioneMetaData.LINEA_KEY, linea);
            boh.put(SoluzioneMetaData.PARTENZA_KEY, partenza);
            boh.put(SoluzioneMetaData.ARRIVO_KEY, arrivo);
            boh.put(SoluzioneMetaData.TEMPO_KEY, tempo);
            boh.put(SoluzioneMetaData.ORA_KEY, ora);
            sDb.insert(SoluzioneMetaData.SOLUZIONI_TABLE, null, boh);
    }
   
    public Cursor fetchSoluzione(){ //metodo per fare la query di tutti i dati
            return sDb.query(SoluzioneMetaData.SOLUZIONI_TABLE, null,null,null,null,null,null,null);              
    }
   
    /*public Cursor fetchAccessibilita(){ //metodo per fare la query di tutti i dati
        return mDb.query(ProductsMetaData.PRODUCTS_TABLE, null,ProductsMetaData.PRODUCT_ACCESSIBILITA_KEY + "= 'Si'",null,null,null,null);              
}
   
    public Cursor fetchAccessibilita(String value){ //metodo per fare la query di tutti i dati
        return mDb.query(ProductsMetaData.PRODUCTS_TABLE, null,ProductsMetaData.PRODUCT_ACCESSIBILITA_KEY + "= '"+value+"'",null,null,null,null);              
}*/


    static class SoluzioneMetaData {  // i metadati della tabella, accessibili ovunque
            static final String SOLUZIONI_TABLE = "soluzionitrovate";
            static final String ID = "_id";
            static final String TIPO_KEY = "tipo";
            static final String LINEA_KEY = "linea";
            static final String PARTENZA_KEY = "partenza";
            static final String ARRIVO_KEY = "arrivo";
            static final String TEMPO_KEY = "tempo";
            static final String ORA_KEY = "ora";
    }

    private static final String SOLUZIONI_TABLE_CREATE = "CREATE TABLE IF NOT EXISTS "  //codice sql di creazione della tabella
                    + SoluzioneMetaData.SOLUZIONI_TABLE + " ("
                    + SoluzioneMetaData.ID+ " integer primary key autoincrement, "
                    + SoluzioneMetaData.TIPO_KEY + " text not null, "
                    + SoluzioneMetaData.LINEA_KEY + " text not null, "
                    + SoluzioneMetaData.PARTENZA_KEY + " text not null);"
                    + SoluzioneMetaData.ARRIVO_KEY + " text not null);"
                    + SoluzioneMetaData.TEMPO_KEY + " text not null);"
                    + SoluzioneMetaData.ORA_KEY + " text not null);";

    private 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 sdb) { //solo quando il db viene creato, creiamo la tabella
                    sdb.execSQL(SOLUZIONI_TABLE_CREATE);
                   
            }

            @Override
            public void onUpgrade(SQLiteDatabase sdb, int oldVersion, int newVersion) {
                    //qui mettiamo eventuali modifiche al db, se nella nostra nuova versione della app, il db cambia numero di versione

            }

    }
           

}

L'Activity che usa il database.
Codice (Java): [Seleziona]
package com.example.lamiapp;

import android.app.Activity;
import android.database.Cursor;
import android.graphics.Color;
import android.graphics.PixelFormat;
import android.graphics.Typeface;
import android.graphics.drawable.GradientDrawable;
import android.os.Bundle;
import android.support.v4.widget.SimpleCursorAdapter;
import android.util.Log;
import android.view.WindowManager;
import android.view.animation.Animation;
import android.view.animation.AnimationUtils;
import android.view.animation.TranslateAnimation;
import android.widget.ListView;

public class Soluzioniviaggi extends Activity {
        @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.soluzioniviaggi_layout);                
       
       
       
        ListView listasoluzioni=(ListView)findViewById(R.id.listasoluzioni);
       
        Databasesoluzioni db=new Databasesoluzioni(getApplicationContext());
        db.open();  //apriamo il db
       
       
      if(db.fetchSoluzione().getCount()==0){//inserimento dati, solo se il db è vuoto
       
          db.insertSoluzione("Tram","Greco - Piazza Castelli","Greco Rovereto","Piazza Castelli","*","*");
          db.insertSoluzione("Tram","Piazza Castelli - Greco","Piazza Castelli","Greco Rovereto","*","*");
          db.insertSoluzione("Tram","P.le Bausan - P.le Negrelli","Bausan","Negrelli","","");
          db.insertSoluzione("Tram", "P.le Negrelli - P.le Bausan","Negrelli","Bausan","","");
          db.insertSoluzione("Tram", "Gratosoglio - Duomo","Gratosoglio","Duomo M1 M3","","");
          db.insertSoluzione("Tram","Duomo - Gratosoglio","Duomo M1 M3","Gratosoglio","","");
          db.insertSoluzione("Tram", "Niguarda (Parco Nord) - Cairoli M1","Niguarda (Parco Nord)","Cairoli M1","","");
          db.insertSoluzione("Tram", "Cairoli M1 - Niguarda (Parco Nord)","Cairoli M1","Niguarda (Parco Nord)", "","");
          db.insertSoluzione("Tram", "Ortica - Niguarda (Parco Nord)","Ortica","Niguarda (Parco Nord)","","");
          db.insertSoluzione("Tram", "Niguarda (Parco Nord) - Ortica","Niguarda (Parco Nord)","Ortica","","");
          db.insertSoluzione("Tram", "Precotto - Messina","Anassagora","Via Procaccini Via Messina","","");
          db.insertSoluzione("Tram", "Messina - Precotto","Via Procaccini Via Messina","Anassagora","","");
          db.insertSoluzione("Tram", "P.ta Genova FS M2 - Centrale FS","P.ta Genova FS M2", "Stazione Centrale M2 M3", "","");
          db.insertSoluzione("Tram", "Centrale FS- P.ta Genova FS M2","Stazione Centrale M2 M3", "P.ta Genova FS M2","","");
          db.insertSoluzione("Tram", "Roserio - V.le Molise","Roserio (Ospedale Sacco)","V.le Molise","","");
        }
       
       

      Cursor c=db.fetchSoluzione(); // query
      //Cursor c=db.fetchAccessibilita("Accompagnato"); // query
        startManagingCursor(c);

       
       
        SimpleCursorAdapter adapter=new SimpleCursorAdapter( //semplice adapter per i cursor
                        this,
                        R.layout.soluzioniviaggi_riga, //il layout di ogni riga
                        c,
                        new String[]{Databasesoluzioni.SoluzioneMetaData.TIPO_KEY,Databasesoluzioni.SoluzioneMetaData.LINEA_KEY,Databasesoluzioni.SoluzioneMetaData.PARTENZA_KEY,Databasesoluzioni.SoluzioneMetaData.ARRIVO_KEY,Databasesoluzioni.SoluzioneMetaData.TEMPO_KEY,Databasesoluzioni.SoluzioneMetaData.ORA_KEY},//questi colonne
                        new int[]{R.id.tipo,R.id.linea,R.id.partenza,R.id.arrivo,R.id.tempo,R.id.ora});//in queste views
       
       

       
       
        listasoluzioni.setAdapter(adapter); //la listview ha questo adapter
       
       
        //qui vediamo invece come reperire i dati e usarli, in questo caso li stampiamo in una textview
       
        int tipoCol=c.getColumnIndex(Databasesoluzioni.SoluzioneMetaData.TIPO_KEY);  //indici delle colonne
        int lineaCol=c.getColumnIndex(Databasesoluzioni.SoluzioneMetaData.LINEA_KEY);
        int partenzaCol=c.getColumnIndex(Databasesoluzioni.SoluzioneMetaData.PARTENZA_KEY);
        int arrivoCol=c.getColumnIndex(Databasesoluzioni.SoluzioneMetaData.ARRIVO_KEY);
        int tempoCol=c.getColumnIndex(Databasesoluzioni.SoluzioneMetaData.TEMPO_KEY);
        int oraCol=c.getColumnIndex(Databasesoluzioni.SoluzioneMetaData.ORA_KEY);
       
        if(c.moveToFirst()){  //se va alla prima entry, il cursore non è vuoto
                do {
                        //Log.d("DATABASE", c.getString(nomeCol));
   
                        //listaluoghi.append("Product Nome:"+c.getString(nomeCol)+", Indirizzo:"+c.getString(indirizzoCol)+", Accessibilita:"+c.getString(accessibilitaCol));
                                       
                        } while (c.moveToNext());//iteriamo al prossimo elemento
        }
       
        db.close();
       
       
       

        getWindow().setFormat(PixelFormat.RGBA_8888);   //visto che usiamo i gradient, usiamo questo trick (vedi snippet forum)
        getWindow().addFlags(WindowManager.LayoutParams.FLAG_DITHER);  
       
        //listaluoghi.setBackgroundDrawable(new GradientDrawable(GradientDrawable.Orientation.BOTTOM_TOP, new int[]{Color.RED,Color.parseColor("#f2bf26")}));
        //listaluoghi.setBackgroundDrawable(new GradientDrawable(GradientDrawable.Orientation.TOP_BOTTOM, new int[]{Color.RED,Color.parseColor("#f2bf26")}));
        //definizione ed uso di gradient in modo programmatico
       
       
        //animazioni in modo programmatico (vedi snippet forum)
        Animation a1 = new TranslateAnimation(Animation.RELATIVE_TO_SELF, 0.0f, Animation.RELATIVE_TO_SELF, 0.0f, Animation.RELATIVE_TO_PARENT, 1.0f, Animation.RELATIVE_TO_SELF, 0.0f);
        a1.setDuration(1000);
        a1.setInterpolator(AnimationUtils.loadInterpolator(this, android.R.anim.decelerate_interpolator));
        listasoluzioni.startAnimation(a1);
        //entra da sotto
       
       
        Animation a2 = new TranslateAnimation(Animation.RELATIVE_TO_SELF, 0.0f, Animation.RELATIVE_TO_SELF, 0.0f, Animation.RELATIVE_TO_PARENT, -1.0f, Animation.RELATIVE_TO_SELF, 0.0f);
        a2.setDuration(1000);
        a2.setInterpolator(AnimationUtils.loadInterpolator(this, android.R.anim.decelerate_interpolator));
        listasoluzioni.startAnimation(a2);
        //entra da sopra
       
       
    }
}

Il layout che contiene la listview.
Codice (XML): [Seleziona]
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
   android:id="@+id/Linearsceltamezzo"
   android:layout_width="fill_parent"
   android:layout_height="wrap_content"
   android:background="@drawable/sceltamezzo"
   android:orientation="vertical" >




    <LinearLayout
       android:layout_width="match_parent"
       android:layout_height="wrap_content"
       android:layout_weight="0.56"
       android:orientation="vertical" >

    </LinearLayout>

    <ListView
       android:id="@+id/listasoluzioni"
       android:layout_width="fill_parent"
       android:layout_height="330dp"
       android:cacheColorHint="#00000000"
       android:divider="@drawable/divider"
       android:dividerHeight="2dp"
       android:scrollbars="vertical" />

</LinearLayout>

Il layout che contiene ogni elemento della listview.
Codice (XML): [Seleziona]
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
   android:id="@+id/Linearsoluzioniriga"
   android:layout_width="wrap_content"
   android:layout_height="wrap_content"
   android:orientation="vertical" >

    <TextView
       android:id="@+id/tipo"
       android:layout_width="wrap_content"
       android:layout_height="wrap_content"
       android:text="tipo" />

    <TextView
       android:id="@+id/linea"
       android:layout_width="wrap_content"
       android:layout_height="wrap_content"
       android:text="linea" />

    <TextView
       android:id="@+id/partenza"
       android:layout_width="wrap_content"
       android:layout_height="wrap_content"
       android:text="partenza" />
   
    <TextView
       android:id="@+id/arrivo"
       android:layout_width="wrap_content"
       android:layout_height="wrap_content"
       android:text="arrivo" />
   
    <TextView
       android:id="@+id/tempo"
       android:layout_width="wrap_content"
       android:layout_height="wrap_content"
       android:text="tempo" />
   
    <TextView
       android:id="@+id/ora"
       android:layout_width="wrap_content"
       android:layout_height="wrap_content"
       android:text="ora" />

</LinearLayout>

E per finire, il logcat.
Citazione
10-21 03:14:00.649: E/Database(22013): Error inserting soluzionitrovate
10-21 03:14:00.649: E/Database(22013): android.database.sqlite.SQLiteException: table soluzionitrovate has no column named tempo: , while compiling: INSERT INTO soluzionitrovate(tempo, linea, ora, arrivo, partenza, tipo) VALUES(?, ?, ?, ?, ?, ?);
10-21 03:14:00.649: E/Database(22013):    at android.database.sqlite.SQLiteCompiledSql.native_compile(Native Method)
10-21 03:14:00.649: E/Database(22013):    at android.database.sqlite.SQLiteCompiledSql.compile(SQLiteCompiledSql.java:92)
10-21 03:14:00.649: E/Database(22013):    at android.database.sqlite.SQLiteCompiledSql.<init>(SQLiteCompiledSql.java:65)
10-21 03:14:00.649: E/Database(22013):    at android.database.sqlite.SQLiteProgram.<init>(SQLiteProgram.java:83)
10-21 03:14:00.649: E/Database(22013):    at android.database.sqlite.SQLiteStatement.<init>(SQLiteStatement.java:41)
10-21 03:14:00.649: E/Database(22013):    at android.database.sqlite.SQLiteDatabase.compileStatement(SQLiteDatabase.java:1295)
10-21 03:14:00.649: E/Database(22013):    at android.database.sqlite.SQLiteDatabase.insertWithOnConflict(SQLiteDatabase.java:1715)
10-21 03:14:00.649: E/Database(22013):    at android.database.sqlite.SQLiteDatabase.insert(SQLiteDatabase.java:1572)
10-21 03:14:00.649: E/Database(22013):    at com.example.lamiapp.Databasesoluzioni.insertSoluzione(Databasesoluzioni.java:44)
10-21 03:14:00.649: E/Database(22013):    at com.example.lamiapp.Soluzioniviaggi.onCreate(Soluzioniviaggi.java:34)
10-21 03:14:00.649: E/Database(22013):    at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1047)
10-21 03:14:00.649: E/Database(22013):    at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:1623)
10-21 03:14:00.649: E/Database(22013):    at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:1675)
10-21 03:14:00.649: E/Database(22013):    at android.app.ActivityThread.access$1500(ActivityThread.java:121)
10-21 03:14:00.649: E/Database(22013):    at android.app.ActivityThread$H.handleMessage(ActivityThread.java:943)
10-21 03:14:00.649: E/Database(22013):    at android.os.Handler.dispatchMessage(Handler.java:99)
10-21 03:14:00.649: E/Database(22013):    at android.os.Looper.loop(Looper.java:130)
10-21 03:14:00.649: E/Database(22013):    at android.app.ActivityThread.main(ActivityThread.java:3768)
10-21 03:14:00.649: E/Database(22013):    at java.lang.reflect.Method.invokeNative(Native Method)
10-21 03:14:00.649: E/Database(22013):    at java.lang.reflect.Method.invoke(Method.java:507)
10-21 03:14:00.649: E/Database(22013):    at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:878)
10-21 03:14:00.649: E/Database(22013):    at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:636)
10-21 03:14:00.649: E/Database(22013):    at dalvik.system.NativeStart.main(Native Method)
10-21 03:14:00.659: E/Database(22013): Error inserting soluzionitrovate
10-21 03:14:00.659: E/Database(22013): android.database.sqlite.SQLiteException: table soluzionitrovate has no column named tempo: , while compiling: INSERT INTO soluzionitrovate(tempo, linea, ora, arrivo, partenza, tipo) VALUES(?, ?, ?, ?, ?, ?);
10-21 03:14:00.659: E/Database(22013):    at android.database.sqlite.SQLiteCompiledSql.native_compile(Native Method)
10-21 03:14:00.659: E/Database(22013):    at android.database.sqlite.SQLiteCompiledSql.compile(SQLiteCompiledSql.java:92)
10-21 03:14:00.659: E/Database(22013):    at android.database.sqlite.SQLiteCompiledSql.<init>(SQLiteCompiledSql.java:65)
10-21 03:14:00.659: E/Database(22013):    at android.database.sqlite.SQLiteProgram.<init>(SQLiteProgram.java:83)
10-21 03:14:00.659: E/Database(22013):    at android.database.sqlite.SQLiteStatement.<init>(SQLiteStatement.java:41)
10-21 03:14:00.659: E/Database(22013):    at android.database.sqlite.SQLiteDatabase.compileStatement(SQLiteDatabase.java:1295)
10-21 03:14:00.659: E/Database(22013):    at android.database.sqlite.SQLiteDatabase.insertWithOnConflict(SQLiteDatabase.java:1715)
10-21 03:14:00.659: E/Database(22013):    at android.database.sqlite.SQLiteDatabase.insert(SQLiteDatabase.java:1572)
10-21 03:14:00.659: E/Database(22013):    at com.example.lamiapp.Databasesoluzioni.insertSoluzione(Databasesoluzioni.java:44)
10-21 03:14:00.659: E/Database(22013):    at com.example.lamiapp.Soluzioniviaggi.onCreate(Soluzioniviaggi.java:35)
10-21 03:14:00.659: E/Database(22013):    at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1047)
10-21 03:14:00.659: E/Database(22013):    at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:1623)
10-21 03:14:00.659: E/Database(22013):    at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:1675)
10-21 03:14:00.659: E/Database(22013):    at android.app.ActivityThread.access$1500(ActivityThread.java:121)
10-21 03:14:00.659: E/Database(22013):    at android.app.ActivityThread$H.handleMessage(ActivityThread.java:943)
10-21 03:14:00.659: E/Database(22013):    at android.os.Handler.dispatchMessage(Handler.java:99)
10-21 03:14:00.659: E/Database(22013):    at android.os.Looper.loop(Looper.java:130)
10-21 03:14:00.659: E/Database(22013):    at android.app.ActivityThread.main(ActivityThread.java:3768)
10-21 03:14:00.659: E/Database(22013):    at java.lang.reflect.Method.invokeNative(Native Method)
10-21 03:14:00.659: E/Database(22013):    at java.lang.reflect.Method.invoke(Method.java:507)
10-21 03:14:00.659: E/Database(22013):    at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:878)
10-21 03:14:00.659: E/Database(22013):    at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:636)
10-21 03:14:00.659: E/Database(22013):    at dalvik.system.NativeStart.main(Native Method)
10-21 03:14:00.659: W/dalvikvm(22013): threadid=1: thread exiting with uncaught exception (group=0x40196560)
10-21 03:14:00.669: E/AndroidRuntime(22013): FATAL EXCEPTION: main
10-21 03:14:00.669: E/AndroidRuntime(22013): java.lang.RuntimeException: Unable to start activity ComponentInfo{com.example.lamiapp/com.example.lamiapp.Soluzioniviaggi}: java.lang.IllegalArgumentException: column 'arrivo' does not exist
10-21 03:14:00.669: E/AndroidRuntime(22013):    at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:1659)
10-21 03:14:00.669: E/AndroidRuntime(22013):    at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:1675)
10-21 03:14:00.669: E/AndroidRuntime(22013):    at android.app.ActivityThread.access$1500(ActivityThread.java:121)
10-21 03:14:00.669: E/AndroidRuntime(22013):    at android.app.ActivityThread$H.handleMessage(ActivityThread.java:943)
10-21 03:14:00.669: E/AndroidRuntime(22013):    at android.os.Handler.dispatchMessage(Handler.java:99)
10-21 03:14:00.669: E/AndroidRuntime(22013):    at android.os.Looper.loop(Looper.java:130)
10-21 03:14:00.669: E/AndroidRuntime(22013):    at android.app.ActivityThread.main(ActivityThread.java:3768)
10-21 03:14:00.669: E/AndroidRuntime(22013):    at java.lang.reflect.Method.invokeNative(Native Method)
10-21 03:14:00.669: E/AndroidRuntime(22013):    at java.lang.reflect.Method.invoke(Method.java:507)
10-21 03:14:00.669: E/AndroidRuntime(22013):    at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:878)
10-21 03:14:00.669: E/AndroidRuntime(22013):    at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:636)
10-21 03:14:00.669: E/AndroidRuntime(22013):    at dalvik.system.NativeStart.main(Native Method)
10-21 03:14:00.669: E/AndroidRuntime(22013): Caused by: java.lang.IllegalArgumentException: column 'arrivo' does not exist
10-21 03:14:00.669: E/AndroidRuntime(22013):    at android.database.AbstractCursor.getColumnIndexOrThrow(AbstractCursor.java:314)
10-21 03:14:00.669: E/AndroidRuntime(22013):    at android.support.v4.widget.SimpleCursorAdapter.findColumns(SimpleCursorAdapter.java:317)
10-21 03:14:00.669: E/AndroidRuntime(22013):    at android.support.v4.widget.SimpleCursorAdapter.<init>(SimpleCursorAdapter.java:66)
10-21 03:14:00.669: E/AndroidRuntime(22013):    at com.example.lamiapp.Soluzioniviaggi.onCreate(Soluzioniviaggi.java:59)
10-21 03:14:00.669: E/AndroidRuntime(22013):    at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1047)
10-21 03:14:00.669: E/AndroidRuntime(22013):    at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:1623)
10-21 03:14:00.669: E/AndroidRuntime(22013):    ... 11 more

Qualcuno può aiutarmi?  .__.

Offline salvatore cino

  • Nuovo arrivato
  • *
  • Post: 47
  • Respect: +5
    • Mostra profilo
  • Dispositivo Android:
    samsung galaxy s i9000
  • Play Store ID:
    wb apps
  • Sistema operativo:
    ubuntu 11.04
R: Re:Errore di inserimento dati in un database.
« Risposta #1 il: 21 Ottobre 2012, 08:07:56 CEST »
+1

    private static final String SOLUZIONI_TABLE_CREATE = "CREATE TABLE IF NOT EXISTS "  //codice sql di creazione della tabella
                    + SoluzioneMetaData.SOLUZIONI_TABLE + " ("
                    + SoluzioneMetaData.ID+ " integer primary key autoincrement, "
                    + SoluzioneMetaData.TIPO_KEY + " text not null, "
                    + SoluzioneMetaData.LINEA_KEY + " text not null, "
                    + SoluzioneMetaData.PARTENZA_KEY + " text not null);"
                    + SoluzioneMetaData.ARRIVO_KEY + " text not null);"
                    + SoluzioneMetaData.TEMPO_KEY + " text not null);"
                    + SoluzioneMetaData.ORA_KEY + " text not null);";


Penao che il tuo problema derivi da questa righe i codice se noti a partire da PARTENZA_KEY cominci a chiudere parentesi e punto e virgola quindi la query è come se se si interrompese li non creandoti la colonna ARRIVO_KEY , TEMPO_KEY, ORA_KEY. Se leggi in fondo al tuo logcat l' errore vero e proprio deriva dal fatto che non trova ARRIVO_KEY che è la prima tra le colonne non create dalla query.
prova a corregere e facci sapere.

Inviato dal mio Nexus 7 con Tapatalk 2


Offline tank

  • Nuovo arrivato
  • *
  • Post: 23
  • Respect: 0
    • Mostra profilo
Re:Errore di inserimento dati in un database.
« Risposta #2 il: 21 Ottobre 2012, 12:59:12 CEST »
0
Grazie mille, era proprio quello! Che sbadato! :D

Offline salvatore cino

  • Nuovo arrivato
  • *
  • Post: 47
  • Respect: +5
    • Mostra profilo
  • Dispositivo Android:
    samsung galaxy s i9000
  • Play Store ID:
    wb apps
  • Sistema operativo:
    ubuntu 11.04
R: Errore di inserimento dati in un database.
« Risposta #3 il: 21 Ottobre 2012, 14:37:05 CEST »
0
Di nulla :-)  quando si può si da una mano

Inviato dal mio Nexus 7 con Tapatalk 2