`

SqLite封转工具类

阅读更多
package com.cz.hello.utils;

import java.util.ArrayList;
import java.util.List;

import android.content.ContentValues;
import android.content.Context;
import android.database.Cursor;
import android.database.SQLException;
import android.database.sqlite.SQLiteDatabase;
import android.database.sqlite.SQLiteOpenHelper;

import com.cz.hello.model.CityInfo;

public class Db {
	private static final String	DB_NAME = "city.db";
	private static final int DB_VERSION = 1;
	private static Context mContext = null;

	private SQLiteDatabase mSQLiteDatabase	= null;
	private DatabaseHelper mDatabaseHelper	= null;
	
	private static final String	TABLE_CITY        = "table_city";   //城市表
	public static final String	KEY_ID           = "_id";         //数据id
	public static final String	KEY_CITY_NAME     = "city_name";    //城市名称
	public static final String	KEY_ADD_TIME     = "add_time";    //插入时间
	private static final String	TABLE_CITY_CREATE = "CREATE TABLE " + TABLE_CITY 
	    + " (" + KEY_ID + " INTEGER PRIMARY KEY AUTOINCREMENT," 
	    + KEY_ADD_TIME  + " datetime default (datetime('now', 'localtime')),"
        + KEY_CITY_NAME + " TEXT)" ;
	
	
	private static class DatabaseHelper extends SQLiteOpenHelper
	{
		DatabaseHelper(Context context)
		{
			super(context, DB_NAME, null, DB_VERSION);
		}
		
		@Override
		public void onCreate(SQLiteDatabase db)
		{
			db.execSQL(TABLE_CITY_CREATE);
		}
		
		@Override
		public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion)
		{
			db.execSQL("DROP TABLE IF EXISTS notes");
			onCreate(db);
		}
	}
	
	public Db(Context context){
		mContext = context;
	}

	public void open() throws SQLException{
		mDatabaseHelper = new DatabaseHelper(mContext);
		mSQLiteDatabase = mDatabaseHelper.getWritableDatabase();
	}

	public void close(){
		mDatabaseHelper.close();
	}
	
	/**
	 * 插入一条城市数据
	 */
	public void insertCityData(String cityName)
	{
		if(Utils.isEmpty(cityName)){
			return;
		}
		open();
		ContentValues initialValues = new ContentValues();
		initialValues.put(KEY_CITY_NAME, cityName);

		Cursor cursor = mSQLiteDatabase.query(TABLE_CITY, null, KEY_CITY_NAME+"=?", new String[]{cityName}, null, null, null);
		if (cursor.moveToNext()) {
			mSQLiteDatabase.update(TABLE_CITY, initialValues, KEY_CITY_NAME+"=?", new String[]{cityName});
		}else{
			mSQLiteDatabase.insert(TABLE_CITY, null, initialValues);
		}
		
		cursor.close();
		
		close();
	}
	
	/**
	 * 获取所有城市列表数据
	 */
	public List<CityInfo> fetchAllCityData(){
		List<CityInfo> list = new ArrayList<CityInfo>();
		open();
		Cursor cursor = mSQLiteDatabase.query(TABLE_CITY, new String[] {
				KEY_ID, 
				KEY_CITY_NAME}, null, null, null, null, KEY_ADD_TIME+" desc");
		while (cursor.moveToNext()) {
			CityInfo city = new CityInfo();
			city.cityname = cursor.getString(cursor.getColumnIndex(KEY_CITY_NAME));
			city.id = cursor.getString(cursor.getColumnIndex(KEY_ID));
			list.add(city);
		}
		cursor.close();
		close();
		return list;
	}
	
	/**
	 * @author chenzheng
	 * @since 2014-7-26
	 * @Description: 根据id删除数据
	 * @throws
	 * @param id
	 * @return
	 * boolean
	 */
	public void deleteCityData(String id){
		open();
		mSQLiteDatabase.delete(TABLE_CITY, KEY_ID + "=" + id, null);  
		close();  
	}
}

 

分享到:
评论

相关推荐

    SQLite数据库使用工具类

    三、SQLite工具类封装 1. 数据库操作接口:定义一个接口,包含增删改查等基本操作方法,如insert()、delete()、update()和query()。 2. 数据库帮助类:继承SQLiteOpenHelper,实现上述接口中的方法。这里需要处理SQL...

    Sqlite的C#通用类和Sqlite工具

    这个压缩包包含两个关键文件,一个是`SqliteHelper.cs`,它很可能是一个C#类,提供了与Sqlite数据库进行交互的通用方法。这个类可能包含了连接数据库、执行SQL语句、插入、更新、删除和查询数据等基本操作的封装。...

    sqlite数据库操作工具类(含jsqlite.jar包)

    在这个主题中,我们将关注如何使用SQLite数据库以及包含的`DBManager.java`工具类,以及`jsqlite.jar`包在Java项目中的应用。 `jsqlite.jar`是SQLite的Java版本,它允许Java开发者在应用程序中直接与SQLite数据库...

    Sqlite使用工具类

    在实际项目中,可以创建一个工具类,封装上述操作,提供更方便的接口供其他类使用。例如,创建一个`SQLiteUtils`类,包含`insert()`, `query()`, `update()`, `delete()`等方法,这样可以更好地管理和维护数据库操作...

    Android开发中的SQLite数据库的增删改查工具类

    1. **SQLiteManager**: 这个类通常是对SQLite数据库操作的封装,提供一套简洁易用的API,用于简化数据库的交互。例如,它可能包含以下方法: - `insert`: 新增数据,利用`ContentValues`对象存储待插入的数据,通过...

    sqlite数据库工具类

    在这个"sqlite数据库工具类"中,开发者已经基于Room技术封装了数据库操作,主要包括`DbManager`类和`DbHelper`类,这两个类是进行数据库管理和帮助操作的核心组件。 首先,我们来看`DbManager`类。这个类通常作为...

    java操作sqlite数据库工具代码及jar包

    本资源提供了一个便捷的方式来与SQLite数据库进行交互,包括必要的jar包和一个预设的工具类。下面将详细介绍如何使用这些资源以及涉及的核心Java和SQLite知识。 首先,`sqlite-jdbc.jar`是Java SQLite驱动,它允许...

    sqlite 数据库操作C# 工具类及使用实例

    本篇文章将深入探讨如何在C#中使用SQLite数据库,以及在VS2010下创建和操作SQLite数据库的工具类和实例。 首先,我们需要引入对SQLite的引用。在VS2010中,可以通过NuGet包管理器安装System.Data.SQLite库。这个库...

    Android SQLite学习工具

    这篇博客“Android SQLite学习工具”可能详细介绍了如何在Android环境中使用SQLite进行数据操作,并提供了一个实用的SQLite管理工具——sqlite3.exe。 SQLite数据库在Android中的应用主要包括创建数据库、创建表、...

    SQLite可视化工具

    SQLite是一款开源、轻量级的嵌入式数据库引擎,它不需要独立的服务进程,可以直接在应用程序中使用。在处理小到中等规模的...对于那些需要处理SQLite数据库的开发者和非开发者来说,这类工具都是不可或缺的辅助软件。

    JAVA SQLite 自动生成实体类 源码

    本项目提供的"JAVA SQLite 自动生成实体类 源码"是一个实用工具,它能够帮助开发者自动生成与SQLite数据库表结构对应的Java实体类,从而简化数据操作的代码编写工作。 首先,我们来理解这个工具的工作原理。当...

    SqLite数据库操作工具

    SQLite数据库操作工具使得用户能够方便地管理和操作SQLite数据库,进行数据的增删改查等操作,而无需深入了解复杂的SQL语法或数据库管理系统。 SQLite Studio是一款非常实用的SQLite数据库管理工具,它提供了一个...

    android sqlite可视化工具

    为了更方便地管理和操作SQLite数据库,开发者通常会借助一些可视化工具,例如“android sqlite可视化工具”。这类工具提供了图形化的界面,使得数据库的创建、查询、修改和管理变得更加直观和便捷。 “android ...

    SQLite数据库 加密解密工具

    SQLite数据库是一种轻量级、自包含的SQL数据库引擎,常被用在嵌入式系统和移动应用中。在处理敏感数据时,为了保护信息安全,对SQLite...了解并熟练掌握这类工具的使用,对于开发涉及敏感信息的.NET应用至关重要。

    SQLite数据库查询工具

    主要用于Android开发时,本地SQLite数据库的管理工具。

    SQLite帮助类SQLiteHelper

    一些小型的应用程序需要使用到数据库,sqlite可以说是最好的选择。这里个人整理了一般简单通用的操作类SQLiteHelper

    ios-SQLite封装工具类.zip

    "ios-SQLite封装工具类.zip"是一个压缩包,包含了针对SQLite数据库进行操作的自定义工具类,可以帮助开发者更方便地进行数据存取。在这个压缩包中,"02 封装工具类"很可能是实现这些功能的源代码文件。以下是关于iOS...

    IOS 下SQLite3数据库的连接工具类

    这个标题为"IOS 下SQLite3数据库的连接工具类"的示例代码,提供了在Xcode 4.2环境下连接和操作SQLite3数据库的工具类。 首先,要使用SQLite3,我们需要在项目中引入`libsqlite3.tbd`或`libsqlite3.dylib`库。在...

    SQLite 增删改查的工具类

    本文将深入探讨如何创建一个SQLite的增删改查(CRUD)工具类,并通过示例代码帮助你快速掌握相关知识点。 首先,我们需要创建一个SQLiteOpenHelper的子类,这是Android为SQLite提供的基础框架。在这个子类中,我们...

    sqlite可视化工具

    这类工具简化了数据库操作,使得非专业用户也能轻松地进行数据操作,提高了工作效率。以下是一些常见的SQLite可视化工具的功能和特点: 1. 数据库管理:用户可以通过可视化工具创建、删除和修改数据库。这些工具...

Global site tag (gtag.js) - Google Analytics