1. Nimm jetzt an unserem Uhans - 3. ADVENT - Gewinnspiel teil - Alle Informationen findest Du hier!

Datenbankänderung wird nicht übernommen ...

Dieses Thema im Forum "Android App Entwicklung" wurde erstellt von Phreakeyy, 18.11.2011.

  1. Phreakeyy, 18.11.2011 #1
    Phreakeyy

    Phreakeyy Threadstarter Neuer Benutzer

    Beiträge:
    2
    Erhaltene Danke:
    0
    Registriert seit:
    18.11.2011
    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 ...
     
  2. StefMa, 18.11.2011 #2
    StefMa

    StefMa Gewerbliches Mitglied

    Beiträge:
    2,054
    Erhaltene Danke:
    413
    Registriert seit:
    16.10.2010
    Hallo,

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

    MfG Ice
     
  3. Phreakeyy, 18.11.2011 #3
    Phreakeyy

    Phreakeyy Threadstarter Neuer Benutzer

    Beiträge:
    2
    Erhaltene Danke:
    0
    Registriert seit:
    18.11.2011
    ok thx erstmal,
    wie schon gesagt, wir sind neulinge :p
    werden das mal ausprobieren ;) (allerdings erst morgen ^^)
     

Diese Seite empfehlen