问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501

android 怎么往数据库里面添加数据

发布网友 发布时间:2022-04-22 01:35

我来回答

2个回答

热心网友 时间:2022-04-09 06:18

一、引入
数据库创建的问题解决了,接下来就该使用数据库实现应用程序功能的时候了。基
本的操作包括创建、读取、更新、删除,即我们通常说的 CRUD(Create, Read, Update, Delete)。
在实现这些操作的时候,我们会使用到两个比较重要的类 SQLiteDatabase 类和 Cursor 类。

二、创建表
1,execSQL(String sql):执行一条 sql 语句,且执行操作不能为 SELECT
因为它的返回值为 void,所以推荐使用 insert、update 方法等
2.,execSQL (String sql,Object[] bindArgs)
sql:执行一条 sql 语句
bindArgs:为 sql 语句中的?赋值

三、添加数据
1、execSQL(String sql)
2、使用对象的 insert 方法
ContentValues values = new ContentValues();
values.put(USERNAME, user.getUsername());
values.put(PASSWORD, user.getPassword());
db.insert(TABLE_NAME, null, values);
参数:
table:数据库中的表名
nullColumnHack:指定默认插入字段,为 null 时能插入数据
values:表示插入字段所对应的值,使用 put 方法。

四、删除数据
1、execSQL(String sql)
2、使用对象的 delete 方法
String whereClaues="_id=?";
String [] whereArgs={String.valueOf(id)};
//db.delete(TABLE_NAME, "_id="+id, null);
db.delete(TABLE_NAME, whereClaues, whereArgs);
参数
table:数据库的表名
whereClause:where 子句,比如:_id=?
whereArgs:where 子句中?的值

五、修改数据
1、execSQL(String sql)
2、使用对象的 delete 方法
ContentValues values = new ContentValues();
values.put(USERNAME, user.getUsername());
values.put(PASSWORD, user.getPassword());
String whereClaues="_id=?";
String [] whereArgs={String.valueOf(user.getId())};
db.update(TABLE_NAME, values, whereClaues, whereArgs);
参数
table:数据库的表名
values:代表要修改的值,修改方法还是 put(key,values)
whereClause:条件子句,比如 id=?,name=?
whereArgs:为 whereClause 中的?赋值,比如:new String[]{"1","张三"}

图:

参考代码:

程序内使用SQLite数据库是通过SQLiteOpenHelper进行操作  

1.       自己写个类继承SQLiteOpenHelper,重写以下3个方法  

public void onCreate(SQLiteDatabase db)   

{//创建数据库时的操作,如建表}  

   

public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion)   

       {  

           //版本更新的操作  

       }  

2.    通过SQLiteOpenHelper的getWritableDatabase()获得一个SQLiteDatabase数据库,以后的操作都是对SQLiteDatabase进行操作。  

3.       对得到的SQLiteDatabase对象进行增,改,删,查等操作。  

代码  

package cx.myNote;  

   

import android.content.ContentValues;  

import android.content.Context;  

import android.content.Intent;  

import android.database.Cursor;  

import android.database.sqlite.SQLiteDatabase;  

import android.database.sqlite.SQLiteOpenHelper;  

   

//DBOptions for login  

public class DBOptions {  

       private static final String DB_NAME = "notes.db";  

       private static final String DB_CREATE="create table logininf(name text,pwd text)";  

       public class DBHelper extends SQLiteOpenHelper  

       {  

   

              public DBHelper(Context context) {  

                     super(context,DB_NAME, null, 1);  

                     }  

   

              @Override  

              public void onCreate(SQLiteDatabase db) {  

                     // TODO Auto-generated method stub  

                     //建表  

                 db.execSQL(DB_CREATE);  

              }  

                

              @Override  

              public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) {  

                     // TODO Auto-generated method stub  

                     db.execSQL("drop table if exists logininf");  

                     onCreate(db);  

              }  

                

       }  

       private Context context;  

       private SQLiteDatabase db;  

       private DBHelper dbHelper;  

       public  DBOptions(Context context)  

       {  

              this.context = context;  

              dbHelper = new DBHelper(context);  

              db=dbHelper.getReadableDatabase();  

                

       }  

  //自己写的方法,对数据库进行操作  

       public String getName()  

       {  

                

              Cursor cursor = db.rawQuery("select name from logininf", null);  

              cursor.moveToFirst();  

              return cursor.getString(0);       

       }  

       public int changePWD(String oldP,String pwd)  

       {  

              ContentValues values = new ContentValues();  

              values.put("pwd", pwd);  

              return db.update("logininf", values,"pwd="+oldP, null);  

       }  

}  


insert方法插入的一行记录使用ContentValus存放,ContentValues类似于Map,它提供了put(String key, Xxx value)(其中key为数据列的列名)方法用于存入数据、getAsXxxx(String key)方法用于取出数据

热心网友 时间:2022-04-09 07:36

参考如下内容:
你通过getText()方法首先得到输入的值,然后调用数据库的插入方法 db.insert();插入到数据库中就行 就想这样
EditText et ;
String num = et.getText().toString();
public void addData(String num) {
SQLiteDatabase db = dbHelper.getWritableDatabase();
ContentValues values = new ContentValues();
values.put("num", num);
db.insert("表名", null, values);
}

当你调用这个 addData()方法时就会向数据库中插入数据了
声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com
玉米仁子饭产自哪里 中国期货交易所的交易品种有哪些? 历史要怎么读,有啥诀窍 高中历史诀窍 年终会活动策划方案 深度解析:第一财经回放,探索财经新风向 逆水寒手游庄园怎么邀请好友同住 逆水寒手游 逆水寒不同区可以一起组队吗? 逆水寒手游 逆水寒怎么进入好友世界? 逆水寒手游 逆水寒怎么去别人的庄园? 厕所在正北好不好? 怎么提高android contentresolver的查询效率优化 厕所设于居室北面是大凶,这与风水有什么联系吗? 如何对android多媒体数据库进行增删改 风水卫生间在北边好还的南边好 如何进行Android数据库操作 android 怎么使用sqlcipher android contentprovider 有什么用 跪求!桃花的动漫图片。唯美,古风。可以有人物。 求一张600*800像素的古风漫画图片 漫画图片唯美古风女生有狐狸耳朵的拿伞的 求几张古风,唯美的图片,要清晰的,最好有人物,... 求几张唯美古风人物插画图片,中国风插画类的 我想要一些高清唯美的古风人物的图片 求古风的漫画图片,里面的人物就像是唱京剧的打扮 古风漫画霸气女皇图片 西安职业高中(职高)哪个口碑好? 西安市重点职业高中有哪些 西安的职业高中有哪些?哪家靠谱点? 西安都有哪些职业高中? 坐南朝北的房子厕所在什么方位最好? android 怎么读取数据库中的数据 使用android自带的日历控件怎么标记特定的 楼房卫生间位于房子的西北方向风水不好吗?能破解吗? android如何保存html文件,包括其中的图片。 卫生间在房子的西北角在风水上好吗 吃松仁有什么好处? Android创建数据库需要做哪些事情 请问卫生间在西北角或者卫生间在北面 但是西北角有... android 如何获取保存的图片的地址 并存到数据库中 厕所在..北面风水好吗 android怎么从数据库读取一条数据赋值给字符串 卫生间朝北风水好不好 吃松子对人体有什么好处? Android数据库权限! 院子里的厕所窗户朝北好不好? 松子吃了有什么营养? 简述android平台提供了哪些数据存储方法 4⃣️室二两厅的房子,坐北朝南,有三个... android开发怎么存储数据