Autore Topic: Problema con SQLite  (Letto 299 volte)

Offline oberdank

  • Utente normale
  • ***
  • Post: 287
  • Respect: 0
    • Mostra profilo
  • Dispositivo Android:
    Samsung Galaxy Core LTE
  • Play Store ID:
    BuzzOne
  • Sistema operativo:
    Windows 8.1
Problema con SQLite
« il: 10 Giugno 2015, 13:19:32 CEST »
0
Sono alle prese con SQLite.
Il seguente programma mi scrive questo LogCat (il programma scrive sul LogCat il contenuto della tabella)
(il LogCat e' al log level "Debug" e filtrato con "***")

06-09 12:12:37.735  25786-25786/? D/***? Inizio
06-09 12:12:37.746  25786-25786/? D/***? Commento 3
06-09 12:12:37.746  25786-25786/? D/***? Commento A
06-09 12:12:37.746  25786-25786/? D/***? Commento A
06-09 12:12:37.746  25786-25786/? D/***? Fine

mentre invece io vorrei che mi scrivesse

06-09 12:12:37.735  25786-25786/? D/***? Inizio
06-09 12:12:37.746  25786-25786/? D/***? Commento 1
06-09 12:12:37.746  25786-25786/? D/***? Commento 2
06-09 12:12:37.746  25786-25786/? D/***? Commento 3
06-09 12:12:37.746  25786-25786/? D/***? Commento A
06-09 12:12:37.746  25786-25786/? D/***? Commento A
06-09 12:12:37.746  25786-25786/? D/***? Fine

DOVE SBAGLIO?

Forse il metodo insert() puo' inserire UNA SOLA riga per volta?

********** MainActivity.java **********
Codice (Java): [Seleziona]
package prove.myapplication34;

import android.content.ContentValues;
import android.content.Context;
import android.database.Cursor;
import android.database.sqlite.SQLiteDatabase;
import android.database.sqlite.SQLiteOpenHelper;
import android.support.v7.app.ActionBarActivity;
import android.os.Bundle;
import android.util.Log;
import android.view.Menu;
import android.view.MenuItem;


public class MainActivity extends ActionBarActivity
{
public static final String TABLE_COMMENTS="comments";
public static final String CULUMN_ID="_id";
public static final String CULUMN_COMMENT="comment";

public static final String DATABASE_NAME="comments_prova_4.db";
public static final int DATABASE_VERSION=1;

public static final String DATABASE_CREATE="create table "
        +TABLE_COMMENTS+" ( "+CULUMN_ID
        + " integer primary key autoincrement, "+CULUMN_COMMENT
        +" text not null);";

    public SQLiteDatabase database;
    public MyHelper dbHelper;
    public String[] allCulumns={CULUMN_ID,CULUMN_COMMENT};

    @Override
    protected void onCreate(Bundle savedInstanceState)
    {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);

        apriEInserisci();
    }

    class MyHelper extends SQLiteOpenHelper
    {
        public MyHelper(Context context)
        {
            super(context,DATABASE_NAME,null,DATABASE_VERSION);
        }
        @Override
        public void onCreate(SQLiteDatabase db)
        {
            db.execSQL(DATABASE_CREATE);
        }
        @Override
        public void onUpgrade(SQLiteDatabase db,int oldVersion,int newVersion)
        {}

    }

    public void apriEInserisci()
    {
        dbHelper=new MyHelper(getApplicationContext());
        database=dbHelper.getWritableDatabase();

        ContentValues values=new ContentValues();
        values.put(CULUMN_COMMENT,"Commento 1");

        values.put(CULUMN_COMMENT,"Commento 2");
        values.put(CULUMN_COMMENT,"Commento 3");

        ContentValues values2=new ContentValues();
        values2.put(CULUMN_COMMENT,"Commento A");

        long insertId;
        insertId=database.insert(TABLE_COMMENTS,null,values);

        insertId=database.insert(TABLE_COMMENTS,null,values2);
        insertId=database.insert(TABLE_COMMENTS,null,values2);

        /*
        Cursor cursor=database.query(TABLE_COMMENTS,allCulumns,CULUMN_ID+" = "+insertId,
                null,null,null,null);
        */

        Cursor cursor=database.rawQuery("SELECT * FROM "+TABLE_COMMENTS,null);

        mostraTutto(cursor);
    }
    public void mostraTutto(Cursor cursor)
    {
        Log.d("***","Inizio");
        cursor.moveToFirst();
        while (!cursor.isAfterLast())
        {
            String s="";
            s=cursor.getString(1);
            Log.d("***",s);

            cursor.moveToNext();
        }
        cursor.close();
        Log.d("***","Fine");
    }

}

Offline Nicola_D

  • Moderatore
  • Utente storico
  • *****
  • Post: 2479
  • SBAGLIATO!
  • Respect: +323
    • Github
    • Google+
    • nicoladorigatti
    • Mostra profilo
  • Dispositivo Android:
    Nexus 6p, Nexus 4, Nexus S, Nexus 7(2012)
  • Sistema operativo:
    Windows 7
Re:Problema con SQLite
« Risposta #1 il: 10 Giugno 2015, 13:54:08 CEST »
0

Forse il metodo insert() puo' inserire UNA SOLA riga per volta?


Si.
SQLiteDatabase | Android Developers
Citazione
Convenience method for inserting a row into the database.
IMPORTANTE:NON RISPONDO A PROBLEMI VIA MESSAGGIO PRIVATO
LOGCAT: Non sai cos'è? -> Android Debug Bridge | Android Developers
               Dov'è in Eclipse? -> Window -> Open Prospective -> DDMS e guarda in basso!
[Obbligatorio] Logcat, questo sconosciuto! (Gruppo AndDev.it LOGTFO) - Android Developers Italia