P 
		
				
				
			
		PlüschPiratin
Neues Mitglied
- 1
 
Hi 
ich verzweifle langsam.
ich habe die datenbank eigentlich genau so gemacht wie ich sie sonst auch immer geschrieben habe und es hat sonst auch immer geklappt. Nur jetzt streikt sie.
datenbank
	
	
	
		
Insert (in der oncreate steht noch mTestDatabase = new TestDatabase(this);
	
	
	
		
Ausgabe:
	
	
	
		
es wird aber "nix" ausgegeben und wenn ich bei der Ausgabe eine Where klausel einbaue stürzt es ab mit dem fehler "get field slot from row 0 col -1 failed" also irgendwas läuft da krumm
ich hab mir beim importieren auch die ID ausgeben lassen und der insert gibt auch immer die ID zurück
was is denn da verkorkst??
Vielen dank schonmal
				
			ich verzweifle langsam.
ich habe die datenbank eigentlich genau so gemacht wie ich sie sonst auch immer geschrieben habe und es hat sonst auch immer geklappt. Nur jetzt streikt sie.
datenbank
		Code:
	
	package persistence;
import android.content.Context;
import android.database.sqlite.SQLiteDatabase;
import android.database.sqlite.SQLiteOpenHelper;
public class TestDatabase extends SQLiteOpenHelper{
    
    private static final String DB_NAME = "test.db";
    private static final int DB_VERSION = 1;
    private static final String TABLE = "test_table";
    
    private static final String ID = "_id";
    private static final String NACHNAME = "nachname";
    private static final String VORNAME = "vorname";
    private static final String TELEFON = "telefon";
    
    private static final String TEST_CREATE = 
            "CREATE TABLE "+ TABLE +" (" +
            ID + " INTEGER PRIMARY KEY AUTOINCREMENT, " +
            NACHNAME + " STRING NOT NULL, " +
            VORNAME + " STRING, " +
            TELEFON + " LONG NOT NULL" +
            ")";
    
    
    private static final String TEST_DROP = 
            "DROP TABLE IF EXISTS " + TABLE;
    public TestDatabase (Context context) {
        super(context, DB_NAME, null, DB_VERSION);
    }
    @Override
    public void onCreate(SQLiteDatabase db) {
        db.execSQL(TEST_CREATE);
    }
    @Override
    public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) {
        db.execSQL(TEST_DROP);
        onCreate(db);
    }
}
	
		Code:
	
	...
ArrayList<ContentValues> werte = importer.importFile();
....
mDatabase = mTestDatabase.getReadableDatabase();
                        long imports; 
                        
                        for(int i = 0; i < werte.size(); i ++){
                            werte.get(i).toString();
                            imports = mDatabase.insert("test_table", null, werte.get(i));
                            
                        }
                        mDatabase.close();
                            Intent intent = new Intent(this, Ausgabe_Activity.class);
                            startActivity(intent);
	
		Code:
	
	mDatabase = mTestDatabase.getReadableDatabase();
        Cursor cursor = mDatabase.rawQuery("Select * From test_table", null);
        if(cursor.moveToFirst()){
            Toast.makeText(this,"joo", Toast.LENGTH_SHORT).show();
           
        }else{
            Toast.makeText(this, "nix", Toast.LENGTH_SHORT).show();
        }
	ich hab mir beim importieren auch die ID ausgeben lassen und der insert gibt auch immer die ID zurück
was is denn da verkorkst??
Vielen dank schonmal