永发信息网

安卓数据库插入数据操作疑问

答案:2  悬赏:20  手机版
解决时间 2021-01-28 21:23
  • 提问者网友:黑米和小志
  • 2021-01-28 12:11
public class MainActivity extends Activity {
//定义一些常量
static final String DB_NAME="students.db";
static final String TABLE_NAME="student";
//表中的常量
static final String ID="_id";
static final String NAME="name";
static final String SEX="sex";
static final String BIRTHDAY="birthday";
static final String HEIGHT="height";

@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
creatDataBase();//创建数据库
setListener();
}

private void setListener() {
setInsertClickListener();
}
private void setInsertClickListener() {
findViewById(R.id.btnInsertData).setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
SQLiteDatabase db=openOrCreateDatabase(DB_NAME, MODE_PRIVATE, null);//不明白这里
insertData(db); //和这里为什么要这样写
}
});
}
private void insertData(SQLiteDatabase db) {
String sql="insert into "+TABLE_NAME+"("+
NAME+","+SEX+","+BIRTHDAY+","+HEIGHT+")values("+
"'张飞','男','1990-5-5',1.99)";
db.execSQL(sql);
sql="insert into "+TABLE_NAME+"("+
NAME+","+SEX+","+BIRTHDAY+","+HEIGHT+")values("+
"'王菲','女','1990-8-5',1.69)";
db.execSQL(sql);
sql="insert into "+TABLE_NAME+"("+
NAME+","+SEX+","+BIRTHDAY+","+HEIGHT+")values("+
"'刘亦菲','女','1991-8-5',1.71)";
db.execSQL(sql);
}
}

最佳答案
  • 五星知识达人网友:掌灯师
  • 2021-01-28 13:37
openOrCreateDatabase
 打开或者建立,如果数据库不存在就建立新的数据库
insertData

直接执行插入数据,不过你上面的代码少了一部分,就是没有建表的SQL执行的过程,所以执行insertData时会报错
全部回答
  • 1楼网友:天凉才是好个秋
  • 2021-01-28 14:45
表“mm”中的字段名“age”错了。检查一下“mm”表的“age”是否写错了。
我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息
大家都在看
推荐资讯