gpt4 book ai didi

java - 未创建 SQLite 数据库文件

转载 作者:行者123 更新时间:2023-11-29 04:51:04 24 4
gpt4 key购买 nike

SQLite 数据库文件 (.db) 未在 Android Device Monitor >DBMS >File Explore >data 中创建。此目录中没有显示 .db 文件。我发现自己无法弄清楚为什么没有创建数据库文件。这是我的文件。

MainActivity.java

package com.example.zohaib.database;

import android.database.sqlite.SQLiteDatabase;
import android.database.sqlite.SQLiteOpenHelper;
import android.os.Bundle;
import android.support.v7.app.AppCompatActivity;
import android.support.v7.widget.Toolbar;

public class MainActivity extends AppCompatActivity {

SQLiteOpenHelper sqLiteOpenHelper;
SQLiteDatabase sqLiteDatabase;

@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
Toolbar toolbar = (Toolbar) findViewById(R.id.toolbar);
setSupportActionBar(toolbar);

sqLiteOpenHelper = new DBConnection(this);
sqLiteDatabase = sqLiteOpenHelper.getWritableDatabase();

}
}

DBConnection.java

package com.example.zohaib.database;

import android.content.ContentValues;
import android.content.Context;
import android.database.Cursor;
import android.database.sqlite.SQLiteDatabase;
import android.database.sqlite.SQLiteOpenHelper;
import android.util.Log;
import android.widget.Toast;

public class DBConnection extends SQLiteOpenHelper {

private static final int DATABASE_VERSION = 1;
private static final String DATABASE_NAME = "products.db";
private static final String TABLE_PRODUCTS = "products";
private static final String COLUMN_ID = "id";
private static final String COLUMN_PRODUCTNAME = "productName";



public DBConnection(Context context) {
super(context, DATABASE_NAME, null, DATABASE_VERSION);
}

@Override
public void onCreate(SQLiteDatabase db) {
String query ="CREATE TABLE " + TABLE_PRODUCTS + " (" +
COLUMN_ID + " INTEGER PRIMARY KEY AUTOINCREMENT, " +
COLUMN_PRODUCTNAME + " TEXT " +
")";
db.execSQL(query);
Log.d("Create Database:", "Successful");
}

@Override
public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) {
db.execSQL("DROP TABLE IF EXISTS " + TABLE_PRODUCTS);
onCreate(db);
}
}

最佳答案

您在一个创建表脚本中使用了两个表名。

改变

String query ="CREATE TABLE test_1 " + TABLE_PRODUCTS + " (" +
COLUMN_ID + " INTEGER PRIMARY KEY AUTOINCREMENT, " +
COLUMN_PRODUCTNAME + " TEXT " +
")";

String query ="CREATE TABLE " + TABLE_PRODUCTS + " (" +
COLUMN_ID + " INTEGER PRIMARY KEY AUTOINCREMENT, " +
COLUMN_PRODUCTNAME + " TEXT " +
");";

关于java - 未创建 SQLite 数据库文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35385217/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com