数据库SQLiteOpenHelper

增:insert into 表名 (字段名,字段名) values (?,?,?)
删:delete from 表名 where 字段=?
改:update 表名 set 字段=?,字段=? where 条件=?
查:select * form 表名 where 字段=?
(*可以更改为想要查找的内容)

创建数据库


package com.bawei.zsgcactivity;

import android.content.Context;
import android.database.sqlite.SQLiteDatabase;
import android.database.sqlite.SQLiteDatabase.CursorFactory;
import android.database.sqlite.SQLiteOpenHelper;

public class MySqlistHelper extends SQLiteOpenHelper{

public MySqlistHelper(Context context, String name, CursorFactory factory,
int version) {
super(context, name, factory, version);
// TODO Auto-generated constructor stub
}

@Override
public void onCreate(SQLiteDatabase db) {
// TODO Auto-generated method stub
db.execSQL("create table good (id integer primary key autoincrement,name char(50) not null, price char(50),producter char(50),color char(50) )");
db.execSQL("insert into good values(null,‘小米‘,‘1000‘,‘北京‘,‘黄色‘)");
db.execSQL("insert into good values(null,‘华为‘,‘1000‘,‘上海‘,‘红色‘)");
db.execSQL("insert into good values(null,‘苹果‘,‘1000‘,‘深圳‘,‘白色‘)");

}

@Override
public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) {
// TODO Auto-generated method stub

}

}

 
   

主方法调用

MySqlistHelper helper=new MySqlistHelper(this, "07a", null, 1);
SQLiteDatabase   dp = helper.getReadableDatabase();

查询


Cursor c = dp.rawQuery("select * from good", null);

while (c.moveToNext()) {
int id = c.getInt(c.getColumnIndex("id"));
String name=c.getString(c.getColumnIndex("name"));
String price=c.getString(c.getColumnIndex("price"));
String producter=c.getString(c.getColumnIndex("producter"));
String color=c.getString(c.getColumnIndex("color"));
list.add(new Goods(id, name, price, producter, color));

}

 
   

修改

MySqlistHelper  helper=new MySqlistHelper(Xiougai.this, "07a", null, 1);
              dp = helper.getReadableDatabase();
             dp.execSQL("update good set name=?,price=?,producter=?,color=? where id=?", new Object[]{name1,price1,producter1,color1,id}); 
 
   

增加

dp.execSQL("insert into good values(null,?,?,?,?)", new Object[]{name,price,producter,color});

删除

dp.execSQL("delete from good where id=?", new Object[]{list.get(position).getId()});

时间: 2024-10-05 21:30:03

数据库SQLiteOpenHelper的相关文章

Android 数据库的线程合作

前言:之前琢磨了很多线程相关的东西,一直摸不着头脑,直到学到了数据库,终于发现世界原来如此美好,任何事物都有存在的理由. 1.主线程,我把它比作长江,作为母亲河的长江,想必大家每个人都不会很陌生. 2.后台线程,我把它比作支流,当然支流可以有很多很多,为了辅助长江的压力,自己就产生了. 3.我们很多时候是作为一个用户的角度,看到的只是美丽的长江,殊不知它的背后有很多支流对它产生的影响. 4.更新视图给用户,在长江的主线程里面进行,用户只会说,长江好漂亮哦,所以看到的就是主体. 5.数据库的交互呢

Android中SQLite数据库小计

2016-03-16 Android数据库支持 本文节选并翻译<Enterprise Android - Programing Android Database Applications for the Enterprise>.学习目标: 学习Android对SQL的支持. 理解在Java中使用SQL——通过SQLiteDatabase类. 创建数据库——SQLiteOpenHelper类. 理解loaders.cursors和adapters. 为了在程序中使用本地的,结构化的数据,需要完成

android-sqlite数据库&lt;五&gt;

1.sqlite 它是android用来管理数据的数据库来的,轻巧且高效. 在android中查看和管理sqlite数据库 http://www.cnblogs.com/walkingp/archive/2011/03/28/1997437.html 2.SQLiteOpenHelper类(抽象类) 它用来创建,打开数据库.即管理sqlite数据库,注意:它是抽象类,需要继承实现 构造方法:factory一般为null,它可以创建/打开/管理数据库 SQLiteOpenHelper(Contex

Cursor 数据库查询游标的应用

在建立数据库,输入数据的前提下,用db.rawQuery(sql,selectionArgs)联系接口Cursor c: 然后运用moveToFirst,isAfterLast,moveToNext等方法查询 在Curesor中index是从0开始查询列数的 例子: 1.新建数据库SQliteOpenHelper类 package com.example.CursorDemo; import android.content.Context;import android.database.sqli

Android之SqlLite数据库使用

每个应用程序都要使用数据,Android应用程序也不例外,Android使用开源的.与操作系统无关的SQL数据库—SQLite.SQLite第一个Alpha版本诞生于2000年5月,它是一款轻量级数据库,它的设计目标是嵌入式的,占用资源非常的低,只需要几百K的内存就够了.SQLite已经被多种软件和产品使用,Mozilla FireFox就是使用SQLite来存储配置数据的,Android和iPhone都是使用SQLite来存储数据的. SQLite数据库是D.Richard Hipp用C语言编

Android 学习心得(2)——Android内置数据库SQLite

一.简介: Android有一个内置数据库SQLite,它是一种轻型数据库,它有五种数据类型:NULL(空型).BLOB(二进制).INTEGER(整型).REAL(浮点型).TEXT(字符串文本),虽然有着五种数据之分,但是在内部SQLite存储数据是无类型的,也就是说你可以在integer中存入char数据之类的.  二.要点: INTEGER PRIMARY KEY中只能存放64位整数 在编写CREATE TABLE时候可以省略字段后面的数据类型 SQLite中可以解析大部分标准SQL语句

Android笔记(三十九) Android中的数据存储——SQLite(一)

SQLite是内置于Android的一款轻量级关系型数据库,她运算速度快,占用资源少,通常只需要几百K的内存就足够了,因而特别适合在移动设备上使用. SQLite不仅支持标准的SQL语法,还遵循数据库的ACID事务,所以如果有其他数据库基础,会上手很快.与其他数据库不同的是,SQLite不用设置用户名和密码就可以使用. 和其他数据库不同的是,SQLite没有其他数据库那么多繁杂的数据类型,它的数据类型很简单:integer表示整型,real表示浮点型,text表示文本类型,blob表示二进制类型

Android7.0 拨号盘应用源码分析(一) 界面浅析

前言 android拨号盘的源码目录在package/app/Dialer 自7.0以后Incallui的源码直接放到了Dialer目录下,虽然在7.0以前incallui有自己独立的目录,但实际编译过程中只是作为链接库最后还是被编译到Dialer的apk里 博主这里只取Dialer相关的源码并导入AS中,并稍作调整兼容至L 源码目录结构如下: 先理一理各个工程的依赖关系 com.android.dialer是主工程依赖于 com.android.contacts.common工程和com.an

Android 五种存储方式个人总结

一 . 文件存储 FileOutputStream out = openFileOutput("data",Context.MODE_PRIVATE); BufferedWriter writer = new BufferedWriter(new OutputStream(out)); String  s ; writer.writer(s); 二. sharePreferences 存储 (键值对形式) 方法 1.    Context 类中的getSharedPreferences