Android SQLite数据库添加数据出错 at android.database.sqlite.SQLiteStatement.releaseAndUnlock

今天试着做了注册页面往本地数据库添加数据的操作,结果出现了

 

at android.database.sqlite.SQLiteStatement.releaseAndUnlock

这个错误,报错空指针异常,经检查发现原来是当执行插入操作是数据库连接已经关闭掉了,仔细检查改正为每次执行插入操作都关闭数据库连接再重新获取连接,改正后代码如下:

package com.example.sharedpreferences;

import android.app.Activity;
import android.database.sqlite.SQLiteDatabase;
import android.os.Bundle;
import android.view.View;
import android.view.View.OnClickListener;
import android.view.Window;
import android.widget.Button;
import android.widget.EditText;
import android.widget.Toast;

public class Register extends Activity{
	private static Button button_register_Register;
	private static EditText edit_username_Register,edit_password_Register;
	private String name;
	private String password;
	private SQLiteDatabase sqldb;
	private SQLiteHelper sqlh;
	protected void onCreate(Bundle savedInstanceState){
		super.onCreate(savedInstanceState);
		this.requestWindowFeature(Window.FEATURE_NO_TITLE);
		setContentView(R.layout.register_layout);
		button_register_Register = (Button)findViewById(R.id.Button_register);
		edit_username_Register = (EditText)findViewById(R.id.Edit_username);
		edit_password_Register = (EditText)findViewById(R.id.Edit_password);
		button_register_Register.setOnClickListener(new ButtonListener());
		
		
		Toast.makeText(this, SQLiteHelper.TABLE_NAME, Toast.LENGTH_SHORT).show();
		
		
	}
	public class ButtonListener implements OnClickListener{
		public void onClick(View v) {
			switch (v.getId()){
			case R.id.Button_register:
				sqlh = new SQLiteHelper(Register.this);
				System.out.println("01");
				//获取数据库写入权限.
				sqldb = sqlh.getWritableDatabase();
				System.out.println("02");
				name = edit_username_Register.getText().toString();
				edit_username_Register.setText("");
				password = edit_password_Register.getText().toString();
				edit_password_Register.setText("");
				String insertquery = "INSERT INTO "+SQLiteHelper.TABLE_NAME+" ("+SQLiteHelper.NAME+","+
				SQLiteHelper.PASSWORD+") VALUES ('"+name+"','"+password+"');";
				sqldb.execSQL(insertquery);
				Toast.makeText(Register.this, "Saved success", Toast.LENGTH_SHORT).show();
				sqldb.close();
			}
		}
		
	}
}

修改了一下午,终于完成了,特此记录,以免日后再次出错


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值