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工具类封装 1. 数据库操作接口:定义一个接口,包含增删改查等基本操作方法,如insert()、delete()、update()和query()。 2. 数据库帮助类:继承SQLiteOpenHelper,实现上述接口中的方法。这里需要处理SQL...
这个压缩包包含两个关键文件,一个是`SqliteHelper.cs`,它很可能是一个C#类,提供了与Sqlite数据库进行交互的通用方法。这个类可能包含了连接数据库、执行SQL语句、插入、更新、删除和查询数据等基本操作的封装。...
在这个主题中,我们将关注如何使用SQLite数据库以及包含的`DBManager.java`工具类,以及`jsqlite.jar`包在Java项目中的应用。 `jsqlite.jar`是SQLite的Java版本,它允许Java开发者在应用程序中直接与SQLite数据库...
在实际项目中,可以创建一个工具类,封装上述操作,提供更方便的接口供其他类使用。例如,创建一个`SQLiteUtils`类,包含`insert()`, `query()`, `update()`, `delete()`等方法,这样可以更好地管理和维护数据库操作...
1. **SQLiteManager**: 这个类通常是对SQLite数据库操作的封装,提供一套简洁易用的API,用于简化数据库的交互。例如,它可能包含以下方法: - `insert`: 新增数据,利用`ContentValues`对象存储待插入的数据,通过...
在这个"sqlite数据库工具类"中,开发者已经基于Room技术封装了数据库操作,主要包括`DbManager`类和`DbHelper`类,这两个类是进行数据库管理和帮助操作的核心组件。 首先,我们来看`DbManager`类。这个类通常作为...
本资源提供了一个便捷的方式来与SQLite数据库进行交互,包括必要的jar包和一个预设的工具类。下面将详细介绍如何使用这些资源以及涉及的核心Java和SQLite知识。 首先,`sqlite-jdbc.jar`是Java SQLite驱动,它允许...
本篇文章将深入探讨如何在C#中使用SQLite数据库,以及在VS2010下创建和操作SQLite数据库的工具类和实例。 首先,我们需要引入对SQLite的引用。在VS2010中,可以通过NuGet包管理器安装System.Data.SQLite库。这个库...
这篇博客“Android SQLite学习工具”可能详细介绍了如何在Android环境中使用SQLite进行数据操作,并提供了一个实用的SQLite管理工具——sqlite3.exe。 SQLite数据库在Android中的应用主要包括创建数据库、创建表、...
SQLite是一款开源、轻量级的嵌入式数据库引擎,它不需要独立的服务进程,可以直接在应用程序中使用。在处理小到中等规模的...对于那些需要处理SQLite数据库的开发者和非开发者来说,这类工具都是不可或缺的辅助软件。
本项目提供的"JAVA SQLite 自动生成实体类 源码"是一个实用工具,它能够帮助开发者自动生成与SQLite数据库表结构对应的Java实体类,从而简化数据操作的代码编写工作。 首先,我们来理解这个工具的工作原理。当...
SQLite数据库操作工具使得用户能够方便地管理和操作SQLite数据库,进行数据的增删改查等操作,而无需深入了解复杂的SQL语法或数据库管理系统。 SQLite Studio是一款非常实用的SQLite数据库管理工具,它提供了一个...
为了更方便地管理和操作SQLite数据库,开发者通常会借助一些可视化工具,例如“android sqlite可视化工具”。这类工具提供了图形化的界面,使得数据库的创建、查询、修改和管理变得更加直观和便捷。 “android ...
SQLite数据库是一种轻量级、自包含的SQL数据库引擎,常被用在嵌入式系统和移动应用中。在处理敏感数据时,为了保护信息安全,对SQLite...了解并熟练掌握这类工具的使用,对于开发涉及敏感信息的.NET应用至关重要。
主要用于Android开发时,本地SQLite数据库的管理工具。
一些小型的应用程序需要使用到数据库,sqlite可以说是最好的选择。这里个人整理了一般简单通用的操作类SQLiteHelper
"ios-SQLite封装工具类.zip"是一个压缩包,包含了针对SQLite数据库进行操作的自定义工具类,可以帮助开发者更方便地进行数据存取。在这个压缩包中,"02 封装工具类"很可能是实现这些功能的源代码文件。以下是关于iOS...
这个标题为"IOS 下SQLite3数据库的连接工具类"的示例代码,提供了在Xcode 4.2环境下连接和操作SQLite3数据库的工具类。 首先,要使用SQLite3,我们需要在项目中引入`libsqlite3.tbd`或`libsqlite3.dylib`库。在...
本文将深入探讨如何创建一个SQLite的增删改查(CRUD)工具类,并通过示例代码帮助你快速掌握相关知识点。 首先,我们需要创建一个SQLiteOpenHelper的子类,这是Android为SQLite提供的基础框架。在这个子类中,我们...
这类工具简化了数据库操作,使得非专业用户也能轻松地进行数据操作,提高了工作效率。以下是一些常见的SQLite可视化工具的功能和特点: 1. 数据库管理:用户可以通过可视化工具创建、删除和修改数据库。这些工具...