Datenbankänderung wird nicht übernommen ...

P

Phreakeyy

Neues Mitglied
0
Also ich programmiere mit einem Freund als Projekt eine App, mit der man auf eine (vorerst) Interne Datenbank zugreifen kann. Sind neulinge in der Programmierung von apps.

Unser problem ist jetzt, dass wir eine Datenbank und einen table mit einträgen erstellen (falls nochnicht vorhanden), wenn wir jedoch z.B einen namen ändern wollen, wird dies nicht übernommen. Wir haben schon versucht die db vorher löschen zu lassen usw, klappt aber alles nicht. ...
hier mal etwas code:

Ausführung:
Code:
public class Datenbankseite extends Activity {
    
    public EditText searchText;
    public SQLiteDatabase db;
    public Cursor cursor;
    public ListAdapter adapter;
    public ListView employeeList;
    
    
    /** Called when the activity is first created. */
    
    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(null);
        setContentView(R.layout.datenbankseite);
        db = (new maerklinanw(this)).getWritableDatabase();
        searchText = (EditText) findViewById (R.id.searchText);
        employeeList = (ListView) findViewById (R.id.list);
    }
   
    
    
    public void search(View view) {
        
        // || is the concatenation operation in SQLite
        cursor = db.rawQuery("SELECT _id, firstName, lastName, title FROM employee WHERE firstName || ' ' || lastName LIKE ?", 
                        new String[]{"%" + searchText.getText().toString() + "%"});
        adapter = new SimpleCursorAdapter(
                this, 
                R.layout.maerklin, 
                cursor, 
                new String[] {"firstName", "lastName", "title"}, 
                new int[] {R.id.firstName, R.id.lastName, R.id.title});
        employeeList.setAdapter(adapter);
    }
    
    
}
Datenbank:
Code:
public class maerklinanw extends SQLiteOpenHelper {

    public static final String DATABASE_NAME = "employee_directory";
    
    public maerklinanw(Context context) {
        super(context, DATABASE_NAME, null, 1);
    }
    
    
    @Override
    public void onCreate(SQLiteDatabase db) {
        /*
         * Create the employee table and populate it with sample data.
         * In step 6, we will move these hardcoded statements to an XML document.
         */
        
        String sql = "CREATE TABLE IF NOT EXISTS employee (" +
                        "_id INTEGER PRIMARY KEY AUTOINCREMENT, " +
                        "firstName TEXT, " +
                        "lastName TEXT, " +
                        "title TEXT)";
        db.execSQL(sql);
        
        ContentValues values = new ContentValues();

        values.put("firstName", "John");
        values.put("lastName", "Zimmermähn");
        values.put("title", "Designer");
        db.insert("employee", "lastName", values);
        
        values.put("firstName", "Robert");
        values.put("lastName", "Jackson");
        values.put("title", "VP Engineering");
        db.insert("employee", "lastName", values);
    }
        
    @Override
    public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) {
        db.execSQL("DROP TABLE IF EXISTS employees");
        onCreate(db);
    }
    
}
Ich hoffe uns kann jemand helfen, sind echt verzweifelt, haben schon stundenlang im Internet nach ner Lösung gesucht aber haben es nicht hinbekommen ...
 
Hallo,

öhm. schonmal simpel mit der Syntax gearbeitet?
myDB.exec("UPDATE TABELLE SET x=y WHERE p=q");
:)

MfG Ice
 
ok thx erstmal,
wie schon gesagt, wir sind neulinge :p
werden das mal ausprobieren ;) (allerdings erst morgen ^^)
 

Ähnliche Themen

5
Antworten
22
Aufrufe
1.420
590239
5
M
  • MikelKatzengreis
Antworten
10
Aufrufe
223
swa00
swa00
SaniMatthias
Antworten
19
Aufrufe
957
swa00
swa00
Zurück
Oben Unten