安卓mysql插入数据_【11-25求助】关于Android 的SQLite数据库插入数据报错问题

该楼层疑似违规已被系统折叠 隐藏此楼查看此楼

运行程序,不知道为何点插入数据按钮会报错,请万能的吧友帮我看看,谢谢,不废话,直接上代码

MainActivity.java

package com.example.activity16;

import android.support.v7.app.ActionBarActivity;

import android.content.ContentValues;

import android.database.Cursor;

import android.database.sqlite.SQLiteDatabase;

import android.os.Bundle;

import android.view.Menu;

import android.view.MenuItem;

import android.view.View;

import android.view.View.OnClickListener;

import android.widget.Button;

public class MainActivity extends ActionBarActivity {

private Button createButton;

private Button upDatabaseButton;

private Button insertButton;

private Button updateButton; //声明

private Button queryButton;

@Override

protected void onCreate(Bundle savedInstanceState) {

super.onCreate(savedInstanceState);

setContentView(R.layout.activity_main);

createButton =(Button)findViewById(R.id.createButton);

upDatabaseButton=(Button)findViewById(R.id.upDatabaseButton);

insertButton=(Button)findViewById(R.id.insertButton); //声明

updateButton=(Button)findViewById(R.id.updateButton);

queryButton=(Button)findViewById(R.id.queryButton);

createButton.setOnClickListener(new CreateListener());

upDatabaseButton.setOnClickListener(new UpDatabaseListener());

insertButton.setOnClickListener(new InsertListener());

updateButton.setOnClickListener(new UpdateListener());

queryButton.setOnClickListener(new QueryListener());

}

class CreateListener implements OnClickListener{

@Override

public void onClick(View v) {

DatabaseHelper dbHelper=new DatabaseHelper(MainActivity.this,"tom_db", null, 1);

SQLiteDatabase db=dbHelper.getReadableDatabase();

//只用调用了这个方法,才会创建,打开数据库

}

}

class UpDatabaseListener implements OnClickListener{

@Override

public void onClick(View v) {

DatabaseHelper dbHelper =new DatabaseHelper(MainActivity.this, "tom_db", null, 2);

SQLiteDatabase db =dbHelper.getWritableDatabase();

//更新数据库的版本

}

}

class InsertListener implements OnClickListener{

@Override

public void onClick(View v) {

System.out.println("insert");

ContentValues values =new ContentValues();

values.put("id",1);

values.put("name", "jack");

//values.put("id",2);

//values.put("name", "lili");

DatabaseHelper dbHelper=new DatabaseHelper(MainActivity.this,"tom_db",null,2);

SQLiteDatabase db=dbHelper.getWritableDatabase();

//获得一个可写的数据库

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

//调用insert方法,把数据插入数据库中

}

}

class UpdateListener implements OnClickListener{

@Override

public void onClick(View v) {

System.out.println("update");

ContentValues values=new ContentValues();

values.put("name","Jim");

DatabaseHelper dbHelper =new DatabaseHelper(MainActivity.this,"tom_db",null,2);

SQLiteDatabase db=dbHelper.getWritableDatabase();

db.update("user", values, "id=?", new String[]{"2"});

}

}

class QueryListener implements OnClickListener{

@Override

public void onClick(View v) {

DatabaseHelper dbHelper =new DatabaseHelper(MainActivity.this,"tom_db",null,2);

SQLiteDatabase db=dbHelper.getReadableDatabase();

Cursor cursor =db.query("user", new String[]{"id","name"}, "id=?",new String[]{"1"}, null, null,null);

while(cursor.moveToNext()){

String name=cursor.getString(cursor.getColumnIndex("name"));

System.out.println("query------>"+name);

}

}

}

}

DatabaseHelper.java

package com.example.activity16;

import android.content.Context;

import android.database.sqlite.SQLiteDatabase;

import android.database.sqlite.SQLiteDatabase.CursorFactory;

import android.database.sqlite.SQLiteOpenHelper;

public class DatabaseHelper extends SQLiteOpenHelper{

private static final int VERSION=1;

public DatabaseHelper(Context context, String name, CursorFactory factory,int version) {

super(context, name, factory, version);

}//在SQLitOpenHelper的子类中,必须有该构造函数

@Override

public void onCreate(SQLiteDatabase db) {

//创建一个数据库

System.out.println("create a DataBase");

db.execSQL("create table user(id int name VARCHAR(20))");

//execSQL函数用于执行SQL语句

}

@Override

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

System.out.println("updatabase");

}

}

关于布局的XML文件我就不发了,请大神指点

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值