为了账号安全,请及时绑定邮箱和手机立即绑定

1,用execSQL语句怎么把edittext的内容插入到表中呢?2,为什么输入关闭数据库的语句Logcat就会出错?

package com.example.lianxi;

import android.app.Activity;

import android.content.ContentValues;

import android.database.Cursor;

import android.database.sqlite.SQLiteDatabase;

import android.os.Bundle;

import android.util.Log;

import android.view.View;

import android.view.View.OnClickListener;

import android.widget.Button;

import android.widget.EditText;

import android.widget.TextView;


public class MainActivity extends Activity {

EditText e1,e2,e3;

Button b1;

@Override

protected void onCreate(Bundle savedInstanceState) {

super.onCreate(savedInstanceState);

setContentView(R.layout.activity_main);

e1=(EditText)findViewById(R.id.e1);

e2=(EditText)findViewById(R.id.e2);

e3=(EditText)findViewById(R.id.e3);

b1=(Button)findViewById(R.id.insert);

   final SQLiteDatabase db=openOrCreateDatabase("user2.db", MODE_PRIVATE, null);

db.execSQL("create table if not exists usertb2(_id integer primary key autoincrement,name text not null,sex text not null,age integer not null)");

        

b1.setOnClickListener(new OnClickListener() {

@Override

public void onClick(View v) {

// TODO Auto-generated method stub

String a=e1.getText().toString();

String b=e2.getText().toString();

int c=Integer.parseInt(e3.getText().toString());

ContentValues values=new ContentValues();

values.put("age", c);

values.put("sex", b);

values.put("name", a);

db.insert("usertb2", null, values);

//db.execSQL("insert into userdb1(name,sex,age)values(a,b,11)");

//1,用execSQL语句怎么把edittext的内容插入到表中呢?

   values.clear();

}

});

db.close();//2,为什么输入关闭数据库的语句Logcat就会出错?

}

}


正在回答

6 回答

把创建数据库的方法放到点击事件中去

0 回复 有任何疑惑可以回复我~

很感激你,第二个问题解决了,但是第一个问题我按你说将close()方法放到点击事件里面的结尾,然后运行程序就会弹出Debug的结果,有个Breakpoints说ArrayIndexOutOfBoundsException:caught and uncaught

0 回复 有任何疑惑可以回复我~

第一个问题:将close()方法放到点击事件里面的结尾去写就OK了;

第二个问题:sql语句有问题,应改为db.execSQL("insert into usertb2(name, sex, age) values('"+a+"','"+b+"',"+c+")");

0 回复 有任何疑惑可以回复我~

那个插入语句我用Contentvalues的方法插入了,最重要的问题是第二个,输入关闭数据库的语句Logcat就会出错?????

0 回复 有任何疑惑可以回复我~

你的 数据库 表名  出错了 ! 创建的和插入的不一致!改一下试试吧!!


0 回复 有任何疑惑可以回复我~
#1

Kinglon 提问者

哦,execSQL语句哪里确实忘记改了,不过改了那个表名,也还是错误的,还是用execSQL语句插入就出错,格式不知道怎么写?我主要是想把a,b,c 这三个值通过execSQL语句插入表中,但是Logcat出错的,这是回复第一个问题。
2016-04-03 回复 有任何疑惑可以回复我~

新手一个!我也没看出来有什么问题,希望可以再点解决!!

0 回复 有任何疑惑可以回复我~

举报

0/150
提交
取消
Android攻城狮的第二门课(第3季)
  • 参与学习       74912    人
  • 解答问题       420    个

手势识别、数据存储和4大组件,让你牢牢掌握之前的基础知识点

进入课程

1,用execSQL语句怎么把edittext的内容插入到表中呢?2,为什么输入关闭数据库的语句Logcat就会出错?

我要回答 关注问题
意见反馈 帮助中心 APP下载
官方微信