安卓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文件我就不发了,请大神指点
安卓mysql插入数据_【11-25求助】关于Android 的SQLite数据库插入数据报错问题相关推荐
- 视图插入数据_带切片器的数据透视图
小伙伴们好啊,今天老祝和大家分享一个利用数据透视图的技巧.先来看数据: 再来看看最终的效果: 在这个图中,可以一目了然的展示不同年份各种成本的占比情况,比起干巴巴的数字,更具有说服力,下面咱们就说说具 ...
- mysql怎样循环插入数据_你向 Mysql 数据库插入 100w 条数据用了多久?
多线程插入(单表) 多线程插入(多表) 预处理SQL 多值插入SQL 事务(N条提交一次) 多线程插入(单表) 问:为何对同一个表的插入多线程会比单线程快?同一时间对一个表的写操作不应该是独占的吗? ...
- 优化mysql插入数据_优化MySQL插入方法的五个妙招
以下是涉及到插入表格的查询的5种改进方法: 1)使用LOAD DATA INFILE从文本下载数据这将比使用插入语句快20倍. 2)使用带有多个VALUES列表的INSERT语句一次插入几行这将比使用 ...
- 2批量批量查询数据插入数据_不吹牛!Mysql 千万数据10秒批量插入只需三步
作者:师太,老衲把持不住了 原文:http://suo.im/4RYaVg 第一步:配置my.ini文件文件中配置bulk_insert_buffer_size=120M 或者更大将insert语句的 ...
- mysql doc插入数据_如何向MySQL数据库的表中录入数据.doc
如何向MySQL数据库的表中录入数据 当建好了数据库及表时,首先想到的就是向数据库的表中输入数据,这就涉及到如何向数据库录入数据,下面我们就来探讨一下这个问题. 1.常用的方法是使用insert语句( ...
- mysql 有外键 怎么插入数据_外键约束的表怎么插入数据
有外键的情况应该先添加主表数据,再添加副表数据. 如:有以下两张表 班级表: CLASSID NAME 1 一班 2 二班 学生表: SID NAME CLASSID 1 张三 1 2 李四 1 3 ...
- linux mysql恢复数据_删库不跑路详解MySQL数据恢复
作者:程淇铭 出处:https://segmentfault.com/a/1190000020116271 日常工作中,总会有因手抖.写错条件.写错表名.错连生产库造成的误删库表和数据的事情发生,那么 ...
- MySQL高性能数据_第三版(读书笔记)
1. 如何保证在系统崩溃时,事务处理的数据一致性?(事务日志) 概念:事务日志可以帮助提升事务的效率. 使用事务日志,存储引擎在修改表的数据时只需要修改其内存拷贝,再把该修改行为记录到持久在硬盘上的事 ...
- node sqlite 插入数据_方便且实用,Python内置的轻量级数据库实操
之前我们在很多项目案例中都使用了MySQL数据库.有的同学问:MySQL安装和配置太麻烦了,老是搞不定,有没有更简便的方法? 当然有咯! Python内置的sqlite3模块就是一个轻量级的数据库,不 ...
最新文章
- Numpy中的random模块中的seed方法的作用
- Pycharm设置pylint real-time scan实时扫描代码规范
- 新鲜出炉!20款好看的英文字体下载
- 【C++ 语言】线程安全队列 ( 条件变量 | 线程调度 )
- Hopsan -- 液压、电力等行业的仿真开源软件
- thinkphp v5.0.24 密码爆破_轻松搭建基于 Serverless 的 ThinkPHP 应用
- 【Docker】docker bash: sudo: command not found
- 电商美工怎么做促销海报,才让内容更有吸引力?看看这些大咖都在学习的优秀素材模板!
- eclipse设置工作空间编码为默认utf-8
- 精选| 2019年3月R新包推荐
- SLAM_汇总 | 视觉/激光/多传感器融合SLAM重点知识点
- 用户 ID 生成唯一邀请码的几种方法
- 查看电脑卸载mysql是否干净_如何把Mysql卸载干净(亲测有效)
- 快手短视频去水印方法
- 递归构造格雷码c语言,递归构造格雷码
- 软件架构设计---软件架构文档化
- google code prettify 多款主题颜色及下载
- html 实现b站弹幕,可实现B站 蒙版弹幕 效果的前端组件 —— Barrage UI
- 计算机论文要多少截图,毕业论文可以用截图吗 毕业论文注意事项
- nboot和eboot
热门文章
- Cloud一分钟 |高通预在年底与苹果和解;比特币绝地反弹;广电拿下5G,或成第四大运营商...
- python编写程序接收字符串_Python字符串操作
- java json转xml_关于JSON与XML的区别比较
- python websocket模块_python websocket学习使用
- 企业实战_01_ Mycat 主要作用_01
- mysql8修改密码
- docker Gitlab14.5.0 安装、配置、部署、使用
- 基于 Layui 的富文本编辑器和封面的实现方案
- linux-centos7环境搭建
- Java-Scanner进阶使用