Sqlite小巧,便携,方便,你不用安装其他软件,数据库文件可以用代码直接生成,适用于小型工程

using UnityEngine;
using System;
using System.Collections;
using Mono.Data.Sqlite;public class DbAccess
{private SqliteConnection dbConnection;private SqliteCommand dbCommand;private SqliteDataReader reader;public DbAccess (string connectionString){OpenDB (connectionString);}public DbAccess (){}public void OpenDB (string connectionString){try{dbConnection = new SqliteConnection (connectionString);dbConnection.Open ();Debug.Log ("Connected to db");}catch(Exception e){string temp1 = e.ToString();Debug.Log(temp1);}}public void CloseSqlConnection (){if (dbCommand != null) {dbCommand.Dispose ();}dbCommand = null;if (reader != null) {reader.Dispose ();}reader = null;if (dbConnection != null) {dbConnection.Close ();}dbConnection = null;Debug.Log ("Disconnected from db.");}public SqliteDataReader ExecuteQuery (string sqlQuery){dbCommand = dbConnection.CreateCommand ();dbCommand.CommandText = sqlQuery;reader = dbCommand.ExecuteReader ();return reader;}public SqliteDataReader ReadFullTable (string tableName){string query = "SELECT * FROM " + tableName;return ExecuteQuery (query);}public SqliteDataReader InsertInto (string tableName, string[] values){string query = "INSERT INTO " + tableName + " VALUES (" + values[0];for (int i = 1; i < values.Length; ++i) {query += ", " + values[i];}query += ")";return ExecuteQuery (query);}public SqliteDataReader UpdateInto (string tableName, string []cols,string []colsvalues,string selectkey,string selectvalue){string query = "UPDATE "+tableName+" SET "+cols[0]+" = "+colsvalues[0];for (int i = 1; i < colsvalues.Length; ++i) {query += ", " +cols[i]+" ="+ colsvalues[i];}query += " WHERE "+selectkey+" = "+selectvalue+" ";return ExecuteQuery (query);}/// <summary>/// 跟新某一个字段的值/// </summary>/// <param name="tableName"></param>/// <param name="cols"></param>/// <param name="colsvalues"></param>/// <param name="selectkey"></param>/// <param name="selectvalue"></param>/// <returns></returns>public SqliteDataReader UpdateIntoAllCols(string tableName, string col, string colsvalue){string query = "UPDATE " + tableName + " SET " + col + " = " + colsvalue ;//for (int i = 1; i < colsvalues.Length; ++i)//{//    query += ", " + cols[i] + " =" + colsvalues[i];//}//query += " WHERE " + selectkey + " = " + selectvalue + " ";return ExecuteQuery(query);}public SqliteDataReader Delete(string tableName,string []cols,string []colsvalues){string query = "DELETE FROM "+tableName + " WHERE " +cols[0] +" = " + colsvalues[0];for (int i = 1; i < colsvalues.Length; ++i) {query += " or " +cols[i]+" = "+ colsvalues[i];}return ExecuteQuery (query);}public SqliteDataReader InsertIntoSpecific (string tableName, string[] cols, string[] values){if (cols.Length != values.Length) {throw new SqliteException ("columns.Length != values.Length");}string query = "INSERT INTO " + tableName + "(" + cols[0];for (int i = 1; i < cols.Length; ++i) {query += ", " + cols[i];}query += ") VALUES (" + values[0];for (int i = 1; i < values.Length; ++i) {query += ", " + values[i];}query += ")";return ExecuteQuery (query);}public SqliteDataReader DeleteContents (string tableName){string query = "DELETE FROM " + tableName;return ExecuteQuery (query);}public SqliteDataReader CreateTable (string name, string[] col, string[] colType){if (col.Length != colType.Length) {throw new SqliteException ("columns.Length != colType.Length");}string query = "CREATE TABLE " + name + " (" + col[0] + " " + colType[0];for (int i = 1; i < col.Length; ++i) {query += ", " + col[i] + " " + colType[i];}query += ")";return ExecuteQuery (query);}public SqliteDataReader SelectWhere (string tableName, string[] items, string[] col, string[] operation, string[] values){if (col.Length != operation.Length || operation.Length != values.Length) {throw new SqliteException ("col.Length != operation.Length != values.Length");}string query = "SELECT " + items[0];for (int i = 1; i < items.Length; ++i) {query += ", " + items[i];}query += " FROM " + tableName + " WHERE " + col[0] + operation[0] + "'" + values[0] + "' ";for (int i = 1; i < col.Length; ++i) {query += " AND " + col[i] + operation[i] + "'" + values[i] + "' ";}return ExecuteQuery (query);}}

需要用到的插件

插件均可以在unity安装包中找到

补充:在sqlite中text类型不同于string类型,更新添加字段的时候生成的数组加上单引号

string[] closValues = new string[] { "'"+"学号"+"'", "'"+"姓名"+"'", "'"+"班级"+"'", "'"+"年龄"+"'"};

转载于:https://www.cnblogs.com/zbyglls/p/10435571.html

C#:在u3d中操作sqlite的数据库相关推荐

  1. Swift 中使用 SQLite——打开数据库

    关于Swift中使用SQLite,接下来可能会分别从打开.增.删.改.查,几个方面来介绍SQLite的具体使用,这一篇重点介绍一下如何打开. 定义全局数据库访问句柄 /// 全局数据库访问句柄 pri ...

  2. .NET中操作SQLite

    C#操作SQLite Database C#下SQLite操作驱动dll下载:System.Data.SQLite C#使用SQLite步骤: (1)新建一个project (2)添加SQLite操作 ...

  3. Qt中操作SQLite数据库

    0.前言 SQLite是一款开源.轻量级.跨平台的数据库,无需server,无需安装和管理配置.它的设计目标是嵌入式的,所以很适合小型应用,也是Qt应用开发种常用的一种数据库. 1.驱动 Qt SQL ...

  4. 在 Android 应用程序中使用 SQLite 数据库以及怎么用

    part one : android SQLite 简单介绍 SQLite 介绍 SQLite 一个非常流行的嵌入式数据库.它支持 SQL 语言,而且仅仅利用非常少的内存就有非常好的性能.此外它还是开 ...

  5. python ——操作sqlite 数据库

    活动地址:CSDN21天学习挑战赛 目录 一,什么是sqlite数据库 1.1 sqlite数据库的功能特性 2,python操作sqlite 2.1 python sqlite3 模块 2.2 创建 ...

  6. 【用SQLite做数据分析】Python操作SQLite的入门介绍

    本篇推文共计2000个字,阅读时间约3分钟. Python 进行数据分析和数据挖掘是当前炙手可热的技术领域,如何高效地管理大量数据是其中非常关键的环节.数据库是最佳的解决方案之一,目前流行的数据库有 ...

  7. java中删除sqlite数据库语句_sqlite数据库的介绍与java操作sqlite的实例讲解

    sqlite数据库的介绍与java操作sqlite的实例讲解 发布时间:2020-10-03 05:40:34 来源:脚本之家 阅读:92 作者:Lee_Tech sqlite是啥? 1.一种轻型数据 ...

  8. Android中实现SQLite数据库CRUD操作的两种方式

    Android中实现SQLite数据库CRUD操作的两种方式 SQLite是一款轻量级的关系型数据库,具有运行速度.占用资源少的特点.通常只需要几百KB的内存就够了,因此特别适合在移动设备上使用.SQ ...

  9. Electron中使用sql.js操作SQLite数据库

    推荐sql.js--一款纯js的sqlite工具. 一.关于sql.js sql.js(https://github.com/kripken/sql.js)通过使用Emscripten编译SQLite ...

  10. python通过什么连接数据库_python中常用的各种数据库操作模块和连接实例

    这篇文章主要介绍了python中常用的各种数据库操作模块和连接实例,包括sqlite3.oracle.mysql.excel,需要的朋友可以参考下 工作中,经常会有用python访问各种数据库的需求, ...

最新文章

  1. 高校实验室管理系统_实验室信息管理系统(LIMS)全解
  2. python调用rust_在 Rust 代码中编写 Python 是种怎样的体验?
  3. python re正则查找_python正则表达式 - re
  4. origin2016中怎么画多条曲线,并且分别给不同曲线设置标记
  5. python list 实现原理,彻底理解Python list切片原理
  6. Java8 forEach 使用
  7. 为何手机可以用,电脑连接不上
  8. 八大排序算法的python实现(七)基数排序
  9. Windows Phone 7 异步编程模型
  10. Linux dstat监控工具简讲
  11. 通达信自带指标 均线多头排列(DTPL)
  12. Qt2D游戏开发引擎QtGameEngine使用入门10——游戏中如何响应用户输入(鼠标/键盘输入)
  13. 贴图技术入门——坦克大战地图
  14. python爬虫有趣的应用软件_Python学习,爬虫不一定非要抓数据,也可以做自己喜欢的应用程序...
  15. 网络编程 正则表达式
  16. [error]:无法打开要写入的文件 XXX。您可能没有写入权限。
  17. 微型计算机ccc认证依据,3C检测规定
  18. html5 中心点旋转,html5 canvas围绕中心点旋转
  19. c语言空格影响编译吗,C语言的空格问题
  20. BXA联手ONEROOT推出数字金融服务

热门文章

  1. kali文件重命名_硬核教程,必看!「网络安全入门」四、文件上传漏洞
  2. java 获取远程系统启动时间_从Java中的RuntimeMXBean获取系统启动时间
  3. dg修改归档目录 oracle_OracleDG主库丢失归档增量同步
  4. ImportError: cannot import name ‘activations‘ from ‘keras.layers‘
  5. 深度学习在图像语义分割中的应用
  6. 深度解密换脸应用Deepfake
  7. python数字图像处理(14):高级滤波
  8. 数据集中异常值的处理之lof,iforest算法
  9. 基于LSTM的【气象数据+发电数据】多步时序数据建模预测分析实战
  10. python实现Dijkstra算法求解图中最短路径距离