在android开发中,我们常常用sqlite来存储用户信息,如何进行sqlite常规操作呢,请参阅下面的示例代码:
- package com.db.imgfornote;
- import android.content.ContentValues;
- import android.content.Context;
- import android.database.Cursor;
- import android.database.sqlite.SQLiteDatabase;
- import android.database.sqlite.SQLiteDatabase.CursorFactory;
- import android.database.sqlite.SQLiteOpenHelper;
- import android.util.Log;
- public class DBHelper extends SQLiteOpenHelper {
- final private static String mDbName="imgfornote" ;
- final private static int mDbVersion=1 ;
- private static DBHelper mInstance=null;
- private final static String mTUserPhoto="UserPhoto" ;
- final private static String mCreateSqlForNoteClass="create table if not exists NoteClass(classId integer primary key asc autoincrement,className NVARCHAR(100),rowTime timestamp default (datetime('now', 'localtime')))" ;
- final private static String mCreateSqlForUserPhoto="create table if not exists UserPhoto(photoId integer primary key asc autoincrement,photoName VARCHAR(200),userPt VARCHAR(200),title VARCHAR(255),classId integer,content NVARCHAR(250),tag NVARCHAR(200),remark text,status integer default 0,rowTime timestamp default (datetime('now', 'localtime')))" ;
- final private static String[] mInsertSqlForNoteClass={"insert into NoteClass(className) values('默认分类[私有]');" , "insert into NoteClass(className) values('读书笔记[私有]');" , "insert into NoteClass(className) values('电子资料[公开]');" };
- private DBHelper(Context context, CursorFactory factory) {
- super(context, mDbName, factory, mDbVersion);
- }
- public static DBHelper GetInstance(Context context, SQLiteDatabase.CursorFactory factory)
- {
- if(mInstance==null){
- mInstance = new DBHelper(context,factory);
- }
- return mInstance;
- }
- @Override
- public void onCreate(SQLiteDatabase db) {
- // 创建表
- db.execSQL(mCreateSqlForNoteClass);
- db.execSQL(mCreateSqlForUserPhoto);
- //初始化数据
- for(int i=0 ;i<mInsertSqlForNoteClass.length;i++)
- db.execSQL(mInsertSqlForNoteClass[i]);
- }
- @Override
- public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) {
- // TODO Auto-generated method stub
- }
- private Cursor ExecSQLForCursor(String sql, String[] selectionArgs){
- SQLiteDatabase db =getWritableDatabase();
- Log.i("ExecSQLForCursor" ,sql);
- return db.rawQuery(sql, selectionArgs);
- }
- private void ExecSQL(String sql){
- try{
- SQLiteDatabase db =getWritableDatabase();
- ExecSQL(sql,db);
- }catch(Exception e){
- Log.e("ExecSQL Exception" ,e.getMessage());
- e.printStackTrace();
- }
- }
- private void ExecSQL(String sql,SQLiteDatabase db ){
- try{
- db.execSQL(sql);
- Log.i("ExecSQL" ,sql);
- }catch(Exception e){
- Log.e("ExecSQL Exception" ,e.getMessage());
- e.printStackTrace();
- }
- }
- //添加照片信息
- public long InsertUserPhoto(String photoName,String title){
- SQLiteDatabase db =getWritableDatabase();
- ContentValues cv = new ContentValues();
- cv.put("photoName" , photoName);
- cv.put("title" , title);
- return db.insert(mTUserPhoto, null, cv);
- }
- //查询照片信息
- public Cursor SearchPhoto(int row,String sort){
- Cursor cur = null;
- try{
- String ord = (sort==null|| sort.toLowerCase().startsWith("a" ))? "asc" : "desc" ;
- String sql = "select * from UserPhoto order by photoId " +ord;
- String[] args = {String.valueOf(row)};
- if(row>0 ){
- sql +=" limit ?" ;
- }else{
- args=null;
- }
- cur = ExecSQLForCursor(sql,args);
- }catch (Exception e) {
- cur = null;
- Log.e("SearchPhoto Exception" ,e.getMessage());
- e.printStackTrace();
- }
- return cur;
- }
- //修改照片信息
- public int UpdateUserPhoto(int photoId,int classId,String title,String content, String tag){
- SQLiteDatabase db =getWritableDatabase();
- ContentValues cv = new ContentValues();
- cv.put("classId" , classId);
- cv.put("title" , title);
- cv.put("content" , content);
- cv.put("tag" , tag);
- String[] args = {String.valueOf(photoId)};
- return db.update(mTUserPhoto, cv, "photoId=?" ,args);
- }
- //删除照片信息
- public int DeleteUserPhoto(int photoId){
- SQLiteDatabase db =getWritableDatabase();
- String[] args = {String.valueOf(photoId)};
- return db.delete(mTUserPhoto, "photoId=?" , args);
- }
- }
主要用到的类:SQLiteOpenHelper、SQLiteDatabase及ContentValues
相关推荐
本教程将深入探讨如何在Android中进行SQLite数据库的增、删、改操作。 首先,让我们了解Android SQLite数据库的基本组成部分。一个SQLite数据库由一个或多个表格组成,每个表格包含一系列列,列定义了数据类型。...
本篇将详细讲解如何在Android程序中进行SQLite数据库的基本操作,包括增(添加数据)、删(删除数据)、改(修改数据)。 首先,Android系统提供了`SQLiteOpenHelper`类,它是处理SQLite数据库的主要工具类。我们...
在安卓应用开发中,数据库是存储和管理数据的核心组件,特别是在需要持久化用户数据或实现离线功能的应用中。...通过不断地练习和优化,你将能够熟练地在Android应用中管理和操作数据库,为用户提供高效的数据服务。
这样,我们就可以通过编写SQL语句来对数据库进行操作。 3. **插入数据** 要向SQLite数据库中插入数据,可以使用TUniQuery的SQL属性设置INSERT语句,例如: ``` SQL.Text := 'INSERT INTO MyTable (Column1, ...
在本教程中,我们将探讨如何利用易语言与Sqlite数据库进行集成,实现组合框(ComboBox)的数据操作,包括数据的增加、修改和删除。 Sqlite是一个轻量级的、开源的关系型数据库管理系统,它不需要单独的服务器进程,...
在LabVIEW中控制SQLite,可以通过编写VIs(Virtual Instruments)来实现对SQLite数据库的增删改查操作。 **1. 创建SQLite数据库连接** 在LabVIEW中,首先需要创建一个SQLite数据库连接。这通常通过调用SQLite的动态...
本教程将详细讲解如何在Android Studio中进行数据库的增、删、改操作。 首先,我们需要创建一个SQLite数据库。在Android应用中,我们通常会创建一个SQLiteOpenHelper的子类,比如名为`DatabaseHelper`的类。这个类...
以上就是使用Delphi和Unidac组件连接SQLite数据库并进行增删改操作的基本步骤。通过这种方式,开发者可以高效地构建数据库驱动的应用程序,同时享受到Delphi和SQLite数据库的性能优势。在实际项目中,还需要考虑更多...
Unidac提供了高效且灵活的方式来连接和操作数据库,简化了数据库应用的开发过程。 3. **SQLite**:这是一个开源的嵌入式关系型数据库,以其轻量级、独立性和跨平台性而闻名。它无需单独的服务器进程,可以直接在...
通过以上步骤,你可以在Android应用中实现对SQLite数据库的增删改操作,并将结果显示在ListView中。在实际开发中,还可以结合ContentProvider和LoaderManager进行更高效的数据管理和UI更新。同时,理解并熟练掌握...
本压缩包文件提供了关于如何在Android应用中实现一个文件管理器,该管理器不仅能够浏览文件,还支持重命名、删除以及打开文件等操作,这对于需要对SQLite数据库进行增删改查的开发者来说,是一个很好的起点。...
在Android开发中,如果我们需要对数据库进行增、删、改、查(CRUD)操作,这两个组件就显得尤为重要。下面我们将深入探讨如何利用ContentProvider和ContentResolver执行这些操作。 **ContentProvider** ...
综上所述,这个“android SQlite、listView中加按钮的使用”的项目涵盖了Android开发中的重要知识点,包括SQLite数据库的管理和操作,ListView的自定义适配器及事件监听,以及sharedPreferences的使用。这些技术对于...
SQLiteDatabase 操作 SQLite 数据库 代码如下:/* Android提供了一个名为SQLiteDatabase的类,该类封装了一些操作数据库的API,使用该类可以完成对数据进行添加(Create)、查询(Retrieve)、更新(Update)和删除(Delete)...
SQLite支持标准的SQL语法,允许通过SQL语句进行数据的增删改查操作。下面将详细介绍SQLite中的增删改操作。 ### 增(Add) 在SQLite中,添加新记录通常使用`INSERT INTO`语句。例如,如果我们有一个名为`Students`...
本篇将重点介绍如何使用C#语言进行SQLite3的增删改查操作,这对于初学者来说是一次极好的实践机会。 首先,我们要理解C#与SQLite3的集成。C#通过SQLite的.NET数据提供程序(System.Data.SQLite)来与SQLite交互。...
本文将深入探讨Android中SQLite数据库的简单增、删、改、查(CRUD)操作。 ### 一、SQLite简介 SQLite是一个开源的关系型数据库,它内置于Android系统中,无需额外安装任何库。它的优点在于体积小、速度快、可移植...
execSQL方法用于执行任何SQL语句,比如INSERT、UPDATE、DELETE等,它能够实现对数据库的增删改操作。query方法用于执行查询操作,其返回一个Cursor对象,通过该对象可以遍历查询结果集。 最后,文件片段提到了一个...
在"标签"中提到的"Android SQLite 查插删改 封装",这些都是Android开发中与SQLite数据库打交道的基本操作。通过这个工具类,开发者可以更高效地进行这些操作,提高开发效率,减少错误,并保持代码的整洁。 至于...