SQLite操作

C#对SQLite的常用操作 Author: Kagula Date: 2013-2-18   环境 [1]Visual Studio 2010 Ultimate with SP1 正文 准备工作   从参考资料中下载SQLiteAdministrator工具,新建SQLite数据库文件“employees.s3db”,并添加表“employee”。   下面是建这张表所用的SQL语句 CREATETABL 阅读详情

Android提供了创建和是用SQLite数据库的API。SQLiteDatabase代表一个数据库对象,提供了操作数据库的一些方法。

要求:

使用SQLite数据库,将某条新闻(包含标题时间内容)插入到数据库中。

实现:

SQLiteOpenHelper类是SQLiteDatabase一个辅助类。这个类主要生成一 个数据库,并对数据库的版本进行管理。当在程序当中调用这个类的方法getWritableDatabase()或者 getReadableDatabase()方法的时候,如果当时没有数据,那么Android系统就会自动生成一个数据库。

package com.example.hades.toutiao;

import android.content.Context;
import android.database.sqlite.SQLiteDatabase;
import android.database.sqlite.SQLiteOpenHelper;
import android.util.Log;

/**
 * Created by hades on 2017/6/17.
 */

public class NewsListDB extends SQLiteOpenHelper {

    public NewsListDB(Context context, String name, SQLiteDatabase.CursorFactory factory,
                      int version) {
        super(context, name, factory, version);
    }

    public void onCreate(SQLiteDatabase db) {
        String sql = "create table if not exists list(_id integer primary key autoincrement,title text,desc text,content text,pubdate text,img text)";
        Log.i("Tag", "create Database");
        db.execSQL(sql);
    }

    public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) {
        Log.i("Tag", "update Databases");
    }
}

创建

    public void Creat() {
        NewsListDB listDB = new NewsListDB(context, "news.db", null, 2);
        SQLiteDatabase db = listDB.getReadableDatabase();
        Log.i("Tag", "Creat");
    }

升级

    public void Update() {
        NewsListDB listDB = new NewsListDB(context, "news.db", null, 2);
        SQLiteDatabase db = listDB.getReadableDatabase();
        Log.i("Tag", "Update");
    }

插入
注意corsor的关闭

    public void Insert(String t, String d, String c, String i, String p) {
        NewsListDB listDB = new NewsListDB(context, "news.db", null, 2);
        SQLiteDatabase db = listDB.getWritableDatabase();
        ContentValues cv = new ContentValues();
        cv.put("title", t);
        cv.put("desc", d);
        cv.put("content", c);
        cv.put("img", i);
        cv.put("pubdate", p);
        db.insertOrThrow("list", null, cv);
        Log.i("Tag", "Indert");
        db.close();
    }

查询
返回一个map对象

    public List<Map<String, String>> Query() {
        NewsListDB dbHelper = new NewsListDB(context, "news.db", null, 2);
        SQLiteDatabase db = dbHelper.getReadableDatabase();
        Cursor cursor = db.query("list", new String[]{"title", "desc", "content", "img", "pubdate"}, null, null, null, null, null);
        List<Map<String, String>> data = new ArrayList<Map<String, String>>();
        while (cursor.moveToNext()) {
            Map map = new HashMap<String, String>();
            map.put("news_title", cursor.getString(cursor.getColumnIndex("title")));
            map.put("news_desc", cursor.getString(cursor.getColumnIndex("desc")));
            map.put("news_img", cursor.getString(cursor.getColumnIndex("img")));
            map.put("news_content", cursor.getString(cursor.getColumnIndex("content")));
            map.put("news_pubdate", cursor.getString(cursor.getColumnIndex("pubdate")));
            data.add(map);
        }
        cursor.close();
        db.close();
        return data;
    }

删除

public void Delete() {
        NewsListDB listDB = new NewsListDB(context, "news.db", null, 2);
        SQLiteDatabase db = listDB.getReadableDatabase();
        String whereClauses = "id=?";
        String[] whereArgs = {String.valueOf(2)};
        db.delete("stu_table", whereClauses, whereArgs);
    }

完整AddLikeItem类:

package com.example.hades.toutiao;

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

import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;

/**
 * Created by hades on 2017/6/17.
 */

public class AddLikeItem {
    public Context context;
    public String newsTitle, newsDesc, newsContent, newsImg, newsPubDate;


    public AddLikeItem(Context context) {
        this.context = context;
        Log.i("Tag", "context2" + String.valueOf(context));

    }


    public void Creat() {
        NewsListDB listDB = new NewsListDB(context, "news.db", null, 2);
        SQLiteDatabase db = listDB.getReadableDatabase();
        Log.i("Tag", "Creat");
    }

    public void Update() {
        NewsListDB listDB = new NewsListDB(context, "news.db", null, 2);
        SQLiteDatabase db = listDB.getReadableDatabase();
        Log.i("Tag", "Update");
    }

    public void Insert(String t, String d, String c, String i, String p) {
        NewsListDB listDB = new NewsListDB(context, "news.db", null, 2);
        SQLiteDatabase db = listDB.getWritableDatabase();
        ContentValues cv = new ContentValues();
        cv.put("title", t);
        cv.put("desc", d);
        cv.put("content", c);
        cv.put("img", i);
        cv.put("pubdate", p);
        db.insertOrThrow("list", null, cv);
        Log.i("Tag", "Indert");
        db.close();
    }

    public List<Map<String, String>> Query() {
        NewsListDB dbHelper = new NewsListDB(context, "news.db", null, 2);
        SQLiteDatabase db = dbHelper.getReadableDatabase();
        Cursor cursor = db.query("list", new String[]{"title", "desc", "content", "img", "pubdate"}, null, null, null, null, null);
        List<Map<String, String>> data = new ArrayList<Map<String, String>>();
        while (cursor.moveToNext()) {
            Map map = new HashMap<String, String>();
            map.put("news_title", cursor.getString(cursor.getColumnIndex("title")));
            map.put("news_desc", cursor.getString(cursor.getColumnIndex("desc")));
            map.put("news_img", cursor.getString(cursor.getColumnIndex("img")));
            map.put("news_content", cursor.getString(cursor.getColumnIndex("content")));
            map.put("news_pubdate", cursor.getString(cursor.getColumnIndex("pubdate")));
            data.add(map);
        }
        cursor.close();
        db.close();
        return data;
    }

    public void Delete() {
        NewsListDB listDB = new NewsListDB(context, "news.db", null, 2);
        SQLiteDatabase db = listDB.getReadableDatabase();
        String whereClauses = "id=?";
        String[] whereArgs = {String.valueOf(2)};
        db.delete("stu_table", whereClauses, whereArgs);
    }
}
手把手教你配置UEFI Secure Boot:从密钥生成到系统验证(附避坑指南) 本文详细介绍了如何配置UEFI Secure Boot,从密钥生成到系统验证的全过程,包括PK、KEK等关键密钥的生成方法,以及常见问题的解决方案。通过实战案例和避坑指南,帮助用户有效提升系统启动安全性,防止恶意软件植入。 阅读详情

相关推荐

Vcenter虚拟机磁盘转换实战:如何用StarWind V2V将vmdk转为qcow2(附空间优化技巧)

本文详细介绍了如何使用StarWind V2V Converter将Vcenter中的vmdk虚拟机磁盘高效转换为qcow2格式,并提供了空间优化技巧。从准备工作、导出vmdk文件到转换过程中的性能调优,帮助管理员在迁移虚拟机时减少资源消耗,确保数据完整性和性能。

dell8的博客 203

【Android开发基础系列】Sqlite基础专题

在Android开发中SQLite起着很重要的作用,网上SQLite的教程有很多很多,不过那些教程大多数都讲得不是很全面。本人总结了一些SQLite的常用的方法,借着论坛的大赛,跟大家分享分享的。1 SQLite的介绍1.1 SQLite简介 SQLite是一款轻型的数据库,是遵守ACID的关联式数据库管理系统,它的设计目标是嵌入式的,而且目前已经在很多嵌入式产品中...

junbaozi的专栏 186

Quantum Espresso实战进阶:HSE混合泛函在能带计算中的精准应用

本文深入探讨了在Quantum Espresso中应用HSE混合泛函进行高精度能带计算的实战方法。针对传统DFT方法低估半导体带隙的问题,HSE通过混合精确交换能,显著提升计算精度。文章详细讲解了从输入文件配置、参数设置(如nqx网格、exxdiv_treatment)、到自洽与非自洽计算流程,以及结果可视化与对比的全过程,并提供了关键的调优与避坑指南,助力实现从PBE到HSE的精准进阶。

weixin_28363123的博客 226

Android学习笔记-数据库开发-1-sqlite基础

本篇开始将写下我的数据库开发总结和经验

谁能告诉我 598

【天线与电波传播】电波传播部分 第7章 电波传播的基础知识3

菲涅尔区与菲涅尔带的基本知识

Chen59_2328的博客 1601

Mamba vs YOLO:目标检测选型指南(附实际项目对比)

本文深入对比了Mamba和YOLO在目标检测领域的性能差异与应用场景。通过实际项目数据,分析了两者在城市交通监控、工业质检等场景下的表现,提供了详细的选型指南和部署优化建议,帮助开发者根据实时性、精度等需求选择最适合的解决方案。

weixin_29062255的博客 369

带你入门Android中的SQLite

SQLite的基本介绍SQLite是一款轻型的数据库,是遵守ACID的关联式数据库管理系统,它的设计目标是嵌入式的,而且目前已经在很多嵌入式产品中使用了它,它占用资源非常的低,在嵌入式设备中,可能只需要几百K的内存就够了。它能够支持 Windows/Linux/Unix等等主流的操作系统,同时能够跟很多程序语言相结合,比如Tcl、PHP、Java、C++、.Net等,还有ODBC接口。特点: 轻量级

ting说你跳? 424

统一大型语言模型和知识图谱:路线图

大型语言模型(LLM),如ChatGPT和GPT4,由于其涌现能力和泛化性,正在自然语言处理和人工智能领域掀起新的浪潮。然而,LLM是黑箱模型,通常无法捕捉和获取事实知识。相反,知识图谱(KGs),例如维基百科和华普,是显式存储丰富事实知识的结构化知识模型。KGs可以通过为推理和可解释性提供外部知识来增强LLM。同时,KGs很难从本质上构建和演化,这对KGs中现有的生成新事实和表示未知知识的方法提出了挑战。因此,将LLM和KGs统一在一起并同时利用它们的优势是相辅相成的。

qq_32907491的博客 2842

Android 操作SQLite基本用法

在Android开发中SQLite起着很重要的作用,网上SQLite的教程有很多很多,不过那些教程大多数都讲得不是很全面。本人总结了一些SQLite的常用的方法,借着论坛的大赛,跟大家分享分享的。 一.SQLite的介绍 1.SQLite简介 SQLite是一款轻型的数据库,是遵守ACID的关联式数据库管理系统,它的设计目标是嵌入  式的,而且目前已经在很多嵌入式产品中使用了它,

Alucard6y的博客 493

团体程序设计天梯赛竞赛题--登顶题【L3-042 污染大亨】

登顶级 3 道题,每道题 30 分,满分为 90 分。

Pretty Boy Fox的博客 1361

Unity零基础到进阶 | Unity中的内存泄漏全解析,原因、排查及避免

Unity 内存泄漏并非传统C++语境中的野指针或未释放堆内存,而是基于其「托管内存(C#)+ 原生内存(引擎/非托管)」双架构的特殊问题——即已废弃、不再被业务逻辑使用的内存块,无法被引擎或系统自动回收,持续占用内存空间,最终引发内存暴涨、GC卡顿、OOM(内存溢出)崩溃,其中移动端、主机端受影响最显著。 Unity 内存主要分为三类,其中泄漏仅发生在前两类,栈内存因系统自动分配/释放,无泄漏风险:

努力前行,总会成为自己心中的那道光 1万+

android中的数据存取 之 SQLite

1.Android中通过SQLite数据库引擎来实现结构化数据存储。SQLite是一个嵌入式数据库引擎,针对内存等资源有限的设备,提供的是一种高效的数据库引擎。 2.Android提供了创建和使用SQLite数据库的API。SQLiteDatabase代表一个数据库对象,提供了操作数据库的一些方法,另外还有一个SQLiteOpenHelper工具类提供更简洁的功能。 3. SQLiteOpen

comkingfly 1116

vue2/3 - 详细实现内网使用离线百度地图功能,百度地图如何离线加载详细教程(内网部署及使用),在vue中无需网络离线使用百度地图相关功能,提供最新完整的瓦片资源下载及相关工具(示例代码,一键复制

vue,vue2,vue3,百度地图,离线使用百度地图,百度地图瓦片官方下载,vue内网使用百度地图离线无网络,断网情况下使用百度地图,vue离线百度地图教程,如何实现内网部署百度地图,无需联网离线使用,vue+ts实现离线百度地图 内网离线百度地图,如何在百度地图Vue项目中下载离线地图,百度离线地图加载不出来,百度地图离线使用不显示怎么办,怎么解决vue内网使用离线百度地图加载失败问题,vue实现离线地图+百度瓦片,vue引入百度离线地图,vue项目如何使用离线百度地图和自定义地图样式,百度离线地图的下

✅ 精选推荐文章 1万+

c#操作轻型数据库SQLite

SQLite,是一款轻型的数据库,是遵守ACID的关联式数据库管理系统,它的设计目标是嵌入式的,而且目前已经在很多嵌入式产品中使用了它,它占用资源非常的低,在嵌入式设备中,可能只需要几百K的内存就够了。它能够支持Windows/Linux/Unix等等主流的操作系统,同时能够跟很多程序语言相结合,比如 Tcl、C#、PHP、Java等,还有ODBC接口,同样比起Mysql、PostgreSQL这两

ghevinn欢迎您光临 1869

锂电池充电器电路设计 里面有电路

锂电池充电器电路设计 里面有电路 3.7V升压到5V电路设计。

怀旧版电脑GBC模拟器

再现原版GBC掌机的界面,电脑运行连游戏界面都一样大小,很怀旧,很真实,(英文版)强烈推荐,很小的文件,很难才找到的。

sqlite数据库的介绍及java操作sqlite

sqlite是啥?1、一种轻型数据库 2、关系型数据库 3、占用资源很低,几百K内存,适合嵌入式设备 4、支持windows、linux、unix 5、可与java、php、c#、python等结合 6、处理速度快于mysql 7、不需要配置、不需要安装、不需要管理 8、一个完整的 SQLite 数据库是存储在一个单一的跨平台的磁盘文件,简单的说一个数据库就是一个单一文件为啥要用它?之

Ezrealmore 3200

假人有限元模型

假人模型,车辆碰撞假人有限元模型,适合做乘员安全的研究者利用

sqlite java_sqlite数据库的介绍与java操作sqlite的实例讲解

sqlite是啥?1、一种轻型数据库2、关系型数据库3、占用资源很低,几百K内存,适合嵌入式设备4、支持windows、linux、unix5、可与java、php、c#、python等结合6、处理速度快于mysql7、不需要配置、不需要安装、不需要管理8、一个完整的 SQLite 数据库是存储在一个单一的跨平台的磁盘文件,简单的说一个数据库就是一个单一文件为啥要用它?之前的web项目一直用的my...

weixin_35034536的博客 389

IEM模型,地表粗糙度模拟

利用微波反演土壤水分时候,利用IEM模型可以实现对随机地表的模拟

php高性能sqllite,简洁的PHP操作SQLite类

原标题:简洁的PHP操作SQLite类如果有文章推荐,或者你们要看什么的技术文章,请在留言处留言,感谢支持SQLite是一款轻型的数据库,是遵守ACID的关联式数据库管理系统,它的设计目标是嵌入式的,而且目前已经在很多嵌入式产品中使用了它,它占用资源非常的低,在嵌入式设备中,可能只需要几百K的内存就够了。它能够支持Windows/Linux/Unix等等主流的操作系统,同时能够跟很多程序语言相结合...

weixin_39806388的博客 400

qt sqlite mac 编译配置_Qt操作Sqlite3数据库

SqliteSqlite是一款轻型的数据库,实现了多数SQL-92标准,包括事务(原子性,一致性,隔离性和持久性 ACID),触发器与多数复杂查询。对于一个移动手持设备的应用开发者,Sqlite是居家旅行必备数据库。SQLITE是单机数据库在不同的环境下安装Sqlite3的操作命令以及步骤:在Lunix系统下安装sqlite3 ubuntu下安装1. 在终端下输入以下命令sudo apt-ge...

weixin_39968995的博客 433

SQLite简单介绍

SQLite是一款轻型的数据库,是遵守ACID的关系型数据库管理系统,它包含在一个相对小的C库中。它是D.RichardHipp建立的公有领域项目。它的设计目标是嵌入式的,而且已经在很多嵌入式产品中使用了它,它占用资源非常的低,在嵌入式设备中,可能只需要几百K的内存就够了。它能够支持Windows/Linux/Unix等等主流的操作系统,同时能够跟很多程序语言相结合,比如 Tcl、C#、PHP、Java等,还有ODBC接口。SQLite第一个Alpha版本诞生于2000年5月。

qq_45726327的博客 6530

python sqlserver 数据操作_Python操作SQLite数据库

SQLite是一款轻型的数据库,占用内存非常低,通常只需要几百K的内存就够用了。它将整个数据库,包括定义表、索引以及数据本身,做为一个单独的可跨平台的文件存储在主机中,并且支持 Python、Java、C# 等多种语言,目前的版本已经发展到了 SQLite3。Python中内置了SQLite模块,不需要任何配置,可以直接导入使用,下面简单介绍下在Python中操作SQLite数据库。操作...

weixin_39525313的博客 303

QT连接Sqlite数据库并且对数据进行操作

QT连接Sqlite数据库并且对数据进行操作,利用了QSqlDatabase、QSqlError、SqlQuery、QSqlQueryModel等函数操作,并且实现登录功能

m0_53552112的博客 3727

sqlite常用操作

Sqlite3常用命令

weixin_41560737的博客 1992

Python 如何操作 SQLite 数据库

SQLite 是一种轻型的关系型数据库管理系统,它支持 SQL 语言。它拥有小巧、快速、可靠、跨平台等特点,常用于移动设备、嵌入式系统和小型应用程序的开发。Python 是一种解释型、面向对象、动态数据类型的高级编程语言,适合于快速开发、简洁明了的代码编写。Python 通过 SQLite 模块来操作 SQLite 数据库,提供了非常简单、方便的接口,本文将从多个角度分析 Python 如何操作 SQLite 数据库。

2201_75362610的博客 8587

SQLite C++操作类

为了方便SQLite的使用,封装了一个SQLite的C++类,同时支持ANSI 和UNICODE编码。代码如下: 头文件(SQLite.h) /******************************************************************** filename: SQLite.h created: 2012-11-05 author: fi

firehood的专栏 8984

python中使用SQLite3对数据库的基本操作(基于ubuntu操作系统)

这篇文章主要是展现了基本的数据库概念和(在ubuntu操作系统中)SQLite3在python中对数据库的基本操作,全部都是作者自己总结,满满干货。

小林学编程的博客 1588

PHP操作SQLITE

一直以来,我们操作SQLITE,都是基于PHP默认的SQLITE操作模块。 今天介绍一个可以操作SQLITE2,和SQLITE3的PHP类,此为我封装的。 <?php abstract class Db{ public static function factory($type){ return call_user_func(array($type , 'getInstanc

tomyjohn的专栏 3014
上一篇: Android模拟返回Back操作
下一篇: 使用SimpleAdapter显示网络图片
Hades_Dev
博客等级 码龄14年 542粉丝 306原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值