2016-07-21 4 views
0

私はSQLite androidで2つのテーブルを作成しましたが、このコードを実行しているときはいつでもそのテーブルにその名前が見つかりませんでした。多くのデバイスで試しましたが、次のコード。SQLite Android - テーブルが見つかりません

public void onOpen(SQLiteDatabase db) { 
    super.onOpen(db); 
} 
@Override 
public void onCreate(SQLiteDatabase db) { 
    db.execSQL("create table peoples" + 
      "(personid integer primary key autoincrement," + 
      " pname text," + 
      " pvehicle text," + 
      " ptime text," + 
      " pdate text," + 
      " startpoint text," + 
      " endpoint text)"); 
} 

@Override 
public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) { 
    db.execSQL("DROP TABLE IF EXISTS peoples"); 
} 
public boolean insertPeoples(String pname,String pvehicle, String ptime, String pdate, String start, String end) 
{ 
    try { 

     SQLiteDatabase db = this.getWritableDatabase(); 
     ContentValues values = new ContentValues(); 
     values.put("pname",pname); 
     values.put("pvehicle",pvehicle); 
     values.put("ptime",ptime); 
     values.put("pdate",pdate); 
     values.put("startpoint",start); 
     values.put("endpoint",end); 
     db.insert("peoples",null,values); 

    } 
    catch (SQLiteException ex) 
    { 
     Log.i("MyLog",ex.getMessage()); 
    } 
    return true; 
} 
public Cursor getAllpeoples() 
{ 
    Cursor res = null; 
    try { 
     SQLiteDatabase database = this.getReadableDatabase(); 
     res = database.rawQuery("select * from peoples",null); 
    } 
    catch (SQLiteException ex) 
    { 
     Log.e("MyLog",ex.getMessage()); 
    } 
    return res; 
} 
public void deletePeoples() 
{ 
    SQLiteDatabase db = this.getWritableDatabase(); 
    db.execSQL("delete from peoples"); 
} 

そこなコードを持つ別のテーブルがあり、正常に動作しているが、この第二の表は、別のクラスによって処理され、正常に動作が、このコードは何の表は、名前の人々を発見しないというエラーを示し、それはnullが返されます私はレコードを取得しようとしている間にポインタの例外。

答えて

-1

私はあなたが間違って作成テーブルコードを書くと思います。これを見てください

public static String createTable="create table details(_id integer Primary key autoincrement,firstname text,lastname text,email text,contactno text)"; 

public void onCreate(SQLiteDatabase db) 
{ 
    db.execSQL(createTable); 

} 

ここで、プライマリキーの文字 "P"は大文字です。

+0

これは問題ではありません –

関連する問題