2016-07-21 35 views
0

我已经在SQLite的android中创建了两个表,但是每当我运行这段代码时它说没有找到那个名字的表,我已经在很多设备上尝试了它,但我仍然无法找到错误下面的代码。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

不,这不是问题 –