安卓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文件我就不发了,请大神指点

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/530563.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

安装python扩展库时只能使用pip_安装 Python 扩展库时只能使用 pip 工具在线安装,如果安装不成功就没有别的办法了。_学小易找答案...

【单选题】关于Python中的复数,下列说法错误的是_________________。【填空题】在Python程序中,导入sys模块后,可以通过列表________________访问命令行参数。_________________表示Python脚本名;____________________表示第一个参数。【简答题】尝试用颜色 表达 冷暖 感觉 !【…

opencv java_opencv的Java开发环境配置(IntelliJ idea)

1、首先我们先到官网下载opencv的包,在官网下载到的是一个可运行文件,其实就是一个解压程序,运行后会把opencv的相关文件解压到填写的路径。2、 在编辑环境变量窗口,点击新建,然后将opencv文件夹里的bin路径复制进去&a…

java session 永不过期_Java Web Application使Session永不失效(利用cookie隐藏登录)

在做 Web Application 时,因为 Web Project 有 session 自动失效的问题,所以如何让用户登录一次系统就能长时间运行三个月,就是个问题。后来,看到 session 失效的拦截器代码,就猜想能否通过拦截器来实现。查资料发现可…

java is-a_java中 is - a和 has - a的区别

Java中is-a和has-a的区别1.“is-a”是继承的关系,比如人是动物,人和动物是继承的关系;2.“has-a”是聚合的关系,比如人有眼睛,人和眼睛是聚合的关系;也可以理解为 is-a 是“继承”但has-a是“接口”关系。是“相互依赖”的关系,同时它们的生命周期都是一样的。我们以…

支付宝支付对账单java_[Java]解析支付宝对账单csv

配置相关公钥和私钥这些需要在支付宝的账户中心配置image.png这些内容在支付宝平台上都有教程,因为下载对账单这个功能比较简单,不需要入聚石塔下载对账单https://docs.open.alipay.com/20180417160701241302/fd3qt1官方文档写的很清楚,而且能直接用,将配置好的公钥私钥APPID等…

cmd编译java文件中文乱码_乱码 HelloWorld 世界你好 cmd 执行输出的中文java 显示乱码 解决 另附 win无法执行编译运行javac java编译文件的解决方案...

【博客园cnblogs笔者m-yb原创,转载请加本文博客链接,笔者公众号aandb7 爱码一生,QQ群927113708, github: https://github.com/mayangbo666】这是一篇java入门:java是众多编程语言之一, 就是开发的工具技术, 没什么特别, 是应用广, 严谨的语言…

java linux获取实时cpu_用java取得linux系统cpu、内存的实时信息(参考别人代码)...

/**   * cat /proc/cpuinfo - cpu (i.e. vendor, mhz, flags like mmx) * cat /proc/interrupts - 中断   * cat /proc/ioports - 设备io端口   * cat /proc/meminfo - 内存信息(i.e. mem used, free, swap size)   * cat /proc/partitions - …

自我学习--关于如何设计光耦电路

本人在项目中多次设计光耦电路,目前电路在项目中运行比较平稳,所以总结一下自己的设计经验,与大家交流一下,如有错误还希望大家指出改正,谢谢(V:Smt15921588263;愿与大家多交流&…

java 读取 xmltype_java操作XMLType的几种方法

XMLType是oracle数据库特有的数据类型可以用来存储一段xml,通过java(本文使用jdbc)插入XMLType根据sql中参数的类型通常有以下3种方法:本文使用的数据库为oracle10.2.1一、String,客户端只需传递一个字符串参数,创建xmltype的任务完全交给数据库,此方法数据库的压力最大String …

java运算符优先级举例_列举出java运算符的优先级

展开全部优先级 操作符 含义 关联性32313133353236313431303231363533e59b9ee7ad9431333337613833 用法----------------------------------------------------------------1 [ ] 数组下标 左 array_name[expr]. 成员选择 左 o…

java websocket ie8_websocket兼容IE8

最近由于项目需要做实时聊天功能,选择了html5的websocket方案(事实上node.jssocket.io兼容性更好,个人觉得这个方案更加完美),websocket实现实时聊天的demo网上很多,但是兼容IE8的资料却很少,这块折腾了很久。websoket…

java newfile() bug_java初学者小白?遇到BUG就慌了?有关java异常的十大问题详解!...

1.已检查与未检查简而言之,必须在方法中显式捕获已检查的异常,或在方法的throws子句中声明该异常。未检查的异常是由无法解决的问题引起的,例如被零除,空指针等。检查的异常特别重要,因为您希望使用API的其他开发人员知…

java 日期操作工具类_java8操作日期的工具类

java8操作日期的工具类一、方法概览该包的API提供了大量相关的方法,这些方法一般有一致的方法前缀:of:静态工厂方法。parse:静态工厂方法,关注于解析。get:获取某些东西的值。is:检查某些东西的…

mysql拦截器实现crud_Mybatis自定义SQL拦截器

本博客介绍的是继承Mybatis提供的Interface接口,自定义拦截器,然后将项目中的sql拦截一下,打印到控制台。先自定义一个拦截器package com.muses.taoshop.common.core.database.config;import org.apache.commons.lang3.StringUtils;import or…

python 桌面提醒_使用Python获取桌面通知

开发一款可提醒您诸如警报或待办事项清单等计划的应用程序真是太好了。在本文中,我将引导您逐步编写如何使用Python获取桌面通知的程序。桌面通知应用程序如何工作?您今天将要学习开发的桌面通知应用程序的主要目的是不断提醒我们我们一天中需要完成的不…

java线程同步的实现_【Java多线程系列三】实现线程同步的方法

packagecom.concurrent.test;importjava.util.Stack;importjava.util.concurrent.ArrayBlockingQueue;importjava.util.concurrent.BlockingQueue;importjava.util.concurrent.locks.Condition;importjava.util.concurrent.locks.ReentrantLock;/*** Description: 三种方法实现…

python建立py文件夹过程_Pycharm创建python文件自动添加日期作者等信息(步骤详解)...

百度AI接口的调用方法不必多介绍。官网地址 人流量统计新建AipBodyAnalysisfrom aip import AipBodyAnalysis""" 你的 APPID AK SK """APP_ID 你的 App IDAPI_KEY 你2021-02-03 14:24:01本文主要介绍了在python3.9下如何安装scrapy的方法&…

python父亲节祝福_父亲节祝福语精选简短 父亲节祝福语简短独特

1.您的坚忍不拔和铮铮硬骨是我的榜样,我从您那儿汲取到奋发的力量,走过挫折,迈向成功,爸爸,您是我永远的榜样,我爱您!祝您节日快乐!2.您的怀抱,是我的小天地;…

redis java应用_redis在JAVA的简单应用

reids是一个高性能的key-value数据库。它存储的value支持各种类型的数据,如String,List,set,hash类型。在此基础上,各种不同方式的排序。本文不具体争对redis数据库的各种命令,而是在Java实现简单的调用。1. //初始化R…

java安装 hello_安装JAVA步骤,并编写HELLOWORLD程序

安装Java步骤,并编写helloworld程序1.安装JDK(Java Development Kit)JDK是Java开发工具包(Java Development Kit)的缩写。它是一种用于构建在J Java 平台上发布的应用程序、applet和组件的开发环境。即编写Java程序必须有JDK,它提供了编译Java和运行Java…