2 day moon day_moon 于 2015.07.13 16:10 提问

再次添加表出错 安卓

OpenHelper文件中:
public class OpenHelper extends SQLiteOpenHelper {
//新建一个学生数据库
public OpenHelper(Context context) {
super(context, "student.db", null, 1);
}
//创建一个学生表
public void onCreate(SQLiteDatabase db) {
db.execSQL("create table student(id integer primary key autoincrement,name varchar(50),pwd varchar(50))");
}

UserDao文件中:
//通过用户名和密码查寻是否存在该学生
public int findStuBynamePWD(String name,String pwd){
    int count = 0;
    SQLiteDatabase db = null;
    Cursor cursor = null;

        //执行创建数据库或是表的语句
        db = openHelper.getReadableDatabase();
        //执行通过用户名和密码的参数查询出用户,并保存在cursor中
        cursor = db
                .rawQuery(
                        "select count(*) as count from student where name=? and pwd=?",
                        new String[] { name, pwd });
        //得到的用户信息通过moveToNext()方法,while语句循环输出
        while (cursor.moveToNext()) {
            //把
            count = cursor.getInt(cursor.getColumnIndex("count"));
         }
    }

    LoginActivity文件关键代码中:
    UserDao userDao=new UserDao(LoginActivity.this);
      if(userDao.findStuBynamePWD(nameNum, pwdNum)>0){
                    //如果存在就跳到MainActivity
                    startActivity(intent);

                   } //用户名和密码输入有误!                     
                  else{
                     Toast.makeText(LoginActivity.this, "用户名或密码有误,请重新输入!",
                                Toast.LENGTH_SHORT).show();
                   }

                    问题:添加新表的时,在OpenHelper文件中,在onCreate方法中添加语句下面:db.execSQL("create table admin(a_id integer primary key autoincrement,a_name varchar(20),a_pwd varchar(20))"),我在SQLite语句是可以运行。运行工程时,没有新表?怎么改,跪求大神!!!

3个回答

dcxy0
dcxy0   Ds   Rxr 2015.07.13 16:34
已采纳

是不是数据库文件没有啊?

建议删掉原来的数据,从程序里面进行创建。应该可以避免,。

day_moon
day_moon 数据库已经有,我已经把原来的数据库删掉了,还是不行
2 年多之前 回复
zym1021
zym1021   2015.07.13 16:36

new OpenHelper(this,数据库名,null,1);
db = openHelper.getWritableDatabase();
这样试试

day_moon
day_moon 在哪个文件添加?
2 年多之前 回复
danielinbiti
danielinbiti   Ds   Rxr 2015.07.13 16:36
 public OpenHelper(Context context) {
super(context, "student.db", null, 1);
}
升一下版本号,不然不会执行onCreate方法
public OpenHelper(Context context) {
super(context, "student.db", null, 2);
}
danielinbiti
danielinbiti 回复day_moon: 目前上面代码中onCreate中只有create table student,没有create table admin
2 年多之前 回复
day_moon
day_moon 已经升级了,还是不行
2 年多之前 回复
Csdn user default icon
上传中...
上传图片
插入图片