安卓手机开发: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 的使用方法,发现
  1. // 创建了一个DatabaseHelper对象,只执行这句话是不会创建或打开连接的  
  2.             DatabaseHelper dbHelper = new DatabaseHelper(SQLiteActivity.this,  
  3.                     "test_yangyz_db");  
  4.             // 只有调用了DatabaseHelper的getWritableDatabase()方法或者getReadableDatabase()方法之后,才会创建或打开一个连接  

只有打开或创建连接的时候才会调用oncreat,尽信书不如无书,网上好多教程也是。。。。。

 

 

郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。