无法创建SQLite数据库Android

时间:2012-06-11 18:10:53

标签: android sqlite

我第一次在SQLite工作,我有我的数据库的下一个代码:

public class SqlLiteDataBase extends SQLiteOpenHelper{
String sqlCreate = "CREATE TABLE lol (code INTEGER, name TEXT)";

public SqlLiteDataBase(Context context, String name, CursorFactory factory, int version) {
    super(context, name, factory, version);
}

@Override
public void onCreate(SQLiteDatabase db) {
    db.execSQL(sqlCreate);
}

@Override
public void onUpgrade(SQLiteDatabase db, int versionAnterior, int versionNueva) {
    db.execSQL("DROP TABLE IF EXISTS lol");
    db.execSQL(sqlCreate);
}}

然后我实例化该类并尝试向数据库添加内容:

SqlLiteDataBase sql = new SqlLiteDataBase(this, "DBlol", null, 1);
    SQLiteDatabase db = sql.getWritableDatabase();
    if(db != null)
    {
        int code = 1;
        String name = "test";
        db.execSQL("INSERT INTO lol (code, name) " + "VALUES (" + code + ", '" + name +"')");
        db.close();
    }

但没有添加任何内容!它假设是一个文件在cel手机中的数据/ ...但文件夹是空的,我尝试用DDMS发生什么事情,但没有显示,发生了什么? 这是权限问题吗? 这是我的权限:

<uses-permission android:name="android.permission.WAKE_LOCK" />
<uses-permission android:name="android.permission.WRITE_INTERNAL_STORAGE" />
<uses-permission android:name="android.permission.BLUETOOTH" />
<uses-permission android:name="android.permission.BLUETOOTH_ADMIN" />
<uses-permission android:name="android.permission.CHANGE_WIFI_MULTICAST_STATE" />
<uses-permission android:name="android.permission.INTERNET" />
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
<uses-permission android:name="android.permission.CAMERA" />
<uses-feature android:name="android.hardware.camera" />
<uses-feature android:name="android.hardware.camera.autofocus" />

感谢您的时间

2 个答案:

答案 0 :(得分:1)

我认为你在sqlCreate字符串中忘记了一个分号。

String sqlCreate = "CREATE TABLE lol (code INTEGER, name TEXT);";

答案 1 :(得分:0)

尝试使用此"+ name +"代替此'" + name +"'。我认为变量不需要' 或者,尝试使用以下标准方法。

 public long createEntry(String code, String name) {
    ContentValues initialValues = new ContentValues();
    initialValues.put("code", code);
    initialValues.put("name", name);

    return db.insert("lol", null, initialValues);
}

有关数据库相关内容的更多帮助,我建议This