求助,高手进,有源码。。。
android开发吧
全部回复
仅看楼主
level 8
求指导用drop table 语句出错。table就一个id和一个name想安一个按钮,一点这个按钮就删除整个表中的数据,求大神指导,已经查了一晚上的资料了。。。
package com.example.lucker;
public class Tb_Person {
private int _id;
private String name;
public Tb_Person() {
super();
}
public Tb_Person(int _id, String name) {
super();
this._id = _id;
this.name = name;
}
public int get_id() {
return _id;
}
public void set_id(int _id) {
this._id = _id;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
}
2015年02月08日 05点02分 1
level 8
package com.example.lucker;
import android.content.Context;
import android.database.DatabaseErrorHandler;
import android.database.sqlite.SQLiteDatabase;
import android.database.sqlite.SQLiteDatabase.CursorFactory;
import android.database.sqlite.SQLiteOpenHelper;
public class DBOpenHelper extends SQLiteOpenHelper {
private static final int VERSION = 1;
private static final String DBNAME = "person.db";
public DBOpenHelper(Context context) {
super(context, DBNAME, null, VERSION);
// TODO Auto-generated constructor stub
}
@Override
public void onCreate(SQLiteDatabase db) {
// TODO Auto-generated method stub
db.execSQL("create table tb_person(_id integer primary key,name varchar(100))");
}
@Override
public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) {
// TODO Auto-generated method stub
}
}
2015年02月08日 05点02分 2
level 8
package com.example.lucker;
import android.content.Context;
import android.database.Cursor;
import android.database.sqlite.SQLiteDatabase;
public class PersonDAO {
private DBOpenHelper helper;
private SQLiteDatabase db;
public PersonDAO(Context context){
helper=new DBOpenHelper(context);
}
/**
* 添加人
*
*/
public void add(Tb_Person tb_person) {
// TODO Auto-generated method stub
db=helper.getWritableDatabase();
db.execSQL("insert into tb_person(_id,name) values(?,?)",new Object[]{tb_person.get_id(),tb_person.getName()});
}
/**
* 查找人
* @return
*/
public Tb_Person find(int id) {
// TODO Auto-generated method stub
db=helper.getWritableDatabase();
Cursor cursor=db.rawQuery("select _id ,name from tb_person where _id=?",new String[]{String.valueOf(id)});
if(cursor.moveToNext()){
return new Tb_Person(cursor.getInt(cursor.getColumnIndex("_id")),cursor.getString(cursor.getColumnIndex("name")));
}
return null;
}
/**
* 清空数据库
*/
public void delete(){
db=helper.getWritableDatabase();
db.execSQL("drop the table if exists" +"tb_person");
}
/**
* 获取最大编号
*/
public int getMaxId(){
db=helper.getWritableDatabase();
Cursor cursor=db.rawQuery("select max(_id)from tb_person", null);
while(cursor.moveToLast()){
return cursor.getInt(0);
}
return 0;
}
}
2015年02月08日 05点02分 3
level 8
其中清空数据库,有错误,求指导。。。
其中清空数据库,有错误,求指导。。。
其中清空数据库,有错误,求指导。。。
其中清空数据库,有错误,求指导。。。
2015年02月08日 05点02分 4
level 8
大神呢
2015年02月08日 06点02分 7
level 3
猜测1:sql语句出错,可以在命令试试能不能删除。
猜测2:这个删除表的功能很少见,也许是在onupdate里面实现的。我之前做过增加表的字段就是在onupdate方法中才能实现。So就当做版本更新处理试试
2015年02月09日 01点02分 8
level 7
db.execSQL("drop the table if exists" +"tb_person");改为db.execSQL("drop table if exists " +"tb_person");
话说你这是删除整个表,如果单是删除数据的话 db.execSQL("delete from " +"tb_person");
2015年02月09日 02点02分 9
level 7
drop the table if exists 把the去掉,话说你这是删除整个表
如果单是删除数据的话应该使用delete from 加table名
2015年02月09日 02点02分 10
谢谢大神啊
2015年02月09日 10点02分
1