安卓手机开发:SQLite数据库能够生成,但是无法创建表单
1 public class MyDBHelper extends SQLiteOpenHelper { 2 //数据库文件在SD卡中,此时必须用全限定名!! 默认路径在/data/data/databases/testDBinSD.sqlite, 但私密数据外界看不到-除非root。 3 private static final String SQL_NAME = "/sdcard/wang.sqlite";//数据库名称。//Environment.getExternalStorageDirectory().getPath() + "testDBinSD.sqlite";// 4 private static final String MAIN_DATA_TABLE_NAME = "wang";//表名。 5 private static final String MAIN_DATA_ID = "id";//表的4个字段 6 private static final String MAIN_DATA_NAME = "name"; 7 private static final String MAIN_DATA_SEX = "sex"; 8 private static final String MAIN_DATA_GRADE = "grade"; 9 10 //构造方法 11 public MyDBHelper(Context context) { 12 super(context, SQL_NAME, null, 1); 13 14 }这一步没问题 15 16 @Override 17 public void onCreate(SQLiteDatabase db) { 18 //建表 19 String s = "CREATE TABLE person (id INTEGER PRIMARY KEY AUTOINCREMENT, name VARCHAR(20), age SMALLINT);"; 20 db.execSQL(s); 21 db.execSQL("CREATE TABLE IF NOT EXISTS person" + "(_id INTEGER PRIMARY KEY AUTOINCREMENT, name VARCHAR, age INTEGER, info TEXT)"); 22 }
这部分有问题我觉得一直没执行,后来验证了一下确实没执行。
这部分卡了好久,后来只能查找
SQLiteOpenHelper 的使用方法,发现
- // 创建了一个DatabaseHelper对象,只执行这句话是不会创建或打开连接的
- DatabaseHelper dbHelper = new DatabaseHelper(SQLiteActivity.this,
- "test_yangyz_db");
- // 只有调用了DatabaseHelper的getWritableDatabase()方法或者getReadableDatabase()方法之后,才会创建或打开一个连接
只有打开或创建连接的时候才会调用oncreat,尽信书不如无书,网上好多教程也是。。。。。
郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。