Android studio连接数据库后出现的问题——insert插入问题

本文详细介绍了在Android应用开发中,如何正确地在Activity中使用数据库进行建表操作,强调了onCreate方法的重要性,同时提供了创建数据表的SQL语句示例,包括字段类型、约束条件等细节。

在别的Activity中使用数据库建表的时候要记得调用一下onCreate方法。DBOpenHelper helper=new DBOpenHelper(this,"menu.db",null,1); SQLiteDatabase db=helper.getWritableDatabase(); helper.onCreate(db);

之前没有添加这句话会导致不能添加任何内容到数据库中。

 

 

建表的时候要注意空格和逗号:

db.execSQL("create table if not exists "+TABLE_NAME+" ("+ID+" integer primary key autoincrement ,"
+USERNAME+" text not null ,"+USERPASS+" text not null ,"+PHONENUM+" integer not null ,"+ADDRESS+"" +
        " text ,"+COMMENT+" text )");

类型integer  text。。之前要有一个空格,不能丢。否则容易造成数据库建表不成功。

### 如何在 Android Studio 中创建和管理本地数据库 #### 创建 SQLite 数据库 为了快速简便地创建并连接SQLite 数据库,在项目中可以定义一个继承自 `SQLiteOpenHelper` 的类[^1]: ```java public class MySqliteOpenHelper extends SQLiteOpenHelper { public static final String DATABASE_NAME = "example.db"; private static final int VERSION = 1; public MySqliteOpenHelper(Context context) { super(context, DATABASE_NAME, null, VERSION); } @Override public void onCreate(SQLiteDatabase sqLiteDatabase) { // 当首次创建数据库时执行此方法,通常用于建表语句 sqLiteDatabase.execSQL("CREATE TABLE IF NOT EXISTS my_table (id INTEGER PRIMARY KEY AUTOINCREMENT, name TEXT)"); } @Override public void onUpgrade(SQLiteDatabase sqLiteDatabase, int oldVersion, int newVersion) { // 如果版本号增加,则会触发该函数升级数据库结构 } } ``` 接着实例化上述帮助器对象,并调用其提供的接口完成数据库的初始化工作。 ```java final MySqliteOpenHelper dbHelper = new MySqliteOpenHelper(MainActivity.this); SQLiteDatabase db = dbHelper.getWritableDatabase(); // 或者使用 getReadableDatabase() 方法获取只读模式下的数据库实例 db.close(); // 使用完毕记得关闭资源释放锁机制 ``` 对于想要直观查看所建立的数据文件内容的情况,可以在 Android Studio 内部直接点击浏览按钮打开相应的 .db 文件;初次加载可能会提示安装额外插件辅助解析展示表格信息[^2]。 #### 插入、查询、更新以及删除记录 有了已经准备好的数据库之后就可以利用 SQL 命令来进行增删改查操作了。下面给出几个常用例子说明如何实现这些功能[^4]: - **插入新纪录** ```java ContentValues values = new ContentValues(); values.put("name", "test"); long newRowId; newRowId = db.insert( "my_table", null, values); if(newRowId != -1){ Log.d("TAG","Insert Success!"); }else{ Log.e("TAG","Insert Failed..."); } ``` - **检索现有数据** ```java Cursor cursor = db.query( "my_table", // 表名 columns, // 要返回的列数组 selection, // WHERE 子句参数列表 selectionArgs, // WHERE 参数值集合 groupBy, // GROUP BY 字段名称 having, // HAVING 条件表达式 orderBy); // ORDER BY 排序依据字段 while(cursor.moveToNext()){ long id = cursor.getLong(0); String name = cursor.getString(1); ... } cursor.close(); ``` 以上就是关于怎样在 Android 应用程序里边集成轻量级的关系型数据库——SQLite 并对其进行基本维护的知识介绍。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值