当前位置: 首页 > news >正文

unity SqLite读取行和列

在这里插入图片描述
在这里插入图片描述
项目文件
链接:https://pan.baidu.com/s/1BabHvQ-y0kX_w15r7UvIGQ
提取码:emsg
–来自百度网盘超级会员V6的分享

using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using Mono.Data.Sqlite;
using System;
using System.Data;
using System.Reflection;public class ConnectSQL : MonoBehaviour
{public SqliteConnection m_SqliteConnection;public SqliteCommand m_SqliteCommand;public SqliteDataReader m_SqliteDataReader;private string m_data;private bool m_IsOpen;#regionpublic void Start(){OpenDB();}private void OnDestroy(){CloseConnect();}private void Update(){if(Input.GetKeyDown(KeyCode.Space)){if(m_IsOpen){Select("img", "name");//  SelectColl("img", "qqq");}}}#endregion/// <summary>/// 打开数据库/// </summary>private void OpenDB(){try{string file = GetDataPath("test.db");m_SqliteConnection = new SqliteConnection(file);m_SqliteConnection.Open();m_IsOpen = true;m_SqliteCommand = m_SqliteConnection.CreateCommand();Debug.Log("打开成功");// ReadData();}catch (Exception e){Debug.LogError(e.Message);}}/// <summary>/// 关闭数据库/// </summary>void CloseConnect(){m_SqliteConnection.Close();m_SqliteConnection = null;m_SqliteCommand.Dispose();m_SqliteCommand = null;}/// <summary>/// 不同平台地址/// </summary>/// <param name="databasePath"></param>/// <returns></returns>public string GetDataPath(string databasePath){
#if UNITY_EDITORreturn string.Concat("data source=", Application.streamingAssetsPath, "/", databasePath);
#endif
#if UNITY_ANDROIDreturn string.Concat("URI=file:", Application.persistentDataPath, "/", databasePath);
#endif
#if UNITY_IOSreturn string.Concat("data source=", Application.persistentDataPath, "/", databasePath);
#endif}/// <summary>/// 读取整张表/// </summary>public void ReadData(){string sqlQuery = "SELECT * FROM img";   m_SqliteDataReader = ExecuteReader(sqlQuery);while (m_SqliteDataReader.Read()){for (int i = 0; i < m_SqliteDataReader.FieldCount; i++){Debug.Log(m_SqliteDataReader.GetValue(i));}}}/// <summary>/// 读取行/// </summary>/// <param name="tableName">通过那列的命名来读取行</param>/// <param name="coll_value">读取那行的名字</param>public void SelectColl(string tableName, string coll_value){string sql = "SELECT * FROM " + tableName + " WHERE name=" + "'" + coll_value + "'";//img是表名// string sql = "SELECT * FROM img WHERE name='asdad'";SqliteCommand sqliteCommand = new SqliteCommand(sql, m_SqliteConnection);SqliteDataReader sqliteDataReader = sqliteCommand.ExecuteReader();while (sqliteDataReader.Read()){for (int i = 0; i < sqliteDataReader.FieldCount; i++){m_data += sqliteDataReader.GetValue(i)+",";}}Debug.Log(m_data);//接收到数据列入数据队// m_MySqlData.Enqueue(data);m_data = "";sqliteDataReader.Close();sqliteCommand.Dispose();sqliteDataReader = null;sqliteCommand = null;}/// <summary>/// 读取列/// </summary>/// <param name="tableName"></param>/// <param name="column_name">行的条件值</param>public void Select(string tableName, string column_name){string sql = "SELECT " + column_name + " FROM " + tableName;SqliteCommand cmd = new SqliteCommand(sql, m_SqliteConnection);SqliteDataReader reader = cmd.ExecuteReader();while (reader.Read()){for (int i = 0; i < reader.FieldCount; i++){Debug.Log(reader.GetValue(i));}          }cmd.Dispose();reader.Close();}/// <summary>/// 执行SQL语句/// </summary>/// <param name="command"></param>/// <returns></returns>public SqliteDataReader ExecuteReader(string command){
#if UNITY_EDITORDebug.Log("SQL:ExecuteReader " + command);
#endifm_SqliteCommand.CommandText = command;m_SqliteDataReader = m_SqliteCommand.ExecuteReader();return m_SqliteDataReader;}
}

在这里插入图片描述
在这里插入图片描述

相关文章:

unity SqLite读取行和列

项目文件 链接&#xff1a;https://pan.baidu.com/s/1BabHvQ-y0kX_w15r7UvIGQ 提取码&#xff1a;emsg –来自百度网盘超级会员V6的分享 using System.Collections; using System.Collections.Generic; using UnityEngine; using Mono.Data.Sqlite; using System; using Syste…...

使用docker部署RStudio容器并结合内网穿透实现公网访问

文章目录 前言1. 安装RStudio Server2. 本地访问3. Linux 安装cpolar4. 配置RStudio server公网访问地址5. 公网远程访问RStudio6. 固定RStudio公网地址 前言 RStudio Server 使你能够在 Linux 服务器上运行你所熟悉和喜爱的 RStudio IDE&#xff0c;并通过 Web 浏览器进行访问…...

adb wifi 远程调试 安卓手机 命令

使用adb wifi 模式调试需要满足以下前提条件&#xff1a; 手机 和 PC 需要在同一局域网下。手机需要开启开发者模式&#xff0c;然后打开 USB 调试模式。 具体操作步骤如下&#xff1a; 将安卓手机通过 USB 线连接到 PC。&#xff08;连接的时候&#xff0c;会弹出请求&#x…...

Android Activity的启动流程(Android-10)

前言 在Android开发中&#xff0c;我们经常会用到startActivity(Intent)方法&#xff0c;但是你知道startActivity(Intent)后Activity的启动流程吗&#xff1f;今天就专门讲一下最基础的startActivity(Intent)看一下Activity的启动流程&#xff0c;同时由于Launcher的启动后续…...

flask不使用flask-login插件

由于flask版本升级问题&#xff0c;flask-manager里面的Command命令高版本不支持&#xff0c;低版本的兼容flask-sqlalchemy启动也会报错&#xff0c;第三方插件有很多问题&#xff0c;所以痛定思痛决定放弃使用这个&#xff0c;使用flask自带语法自己写一个 类似于django继承…...

1. SpringBoot3 基础

文章目录 1. SpringBoot 概述2. SpringBoot 入门3. SpringBoot 配置文件3.1 SpringBoot 配置文件基本使用3.2 yml 配置文件 4. SpringBoot 整合 Mybatis5. Bean 管理5.1 Bean 扫描5.2 Bean 注册5.3 注册条件 6. 组合注解7. 自动配置原理8. 自定义 Starter 1. SpringBoot 概述 …...

美易官方:苹果承认GPU安全漏洞存在:iPhone 12和M2系列受影响

苹果承认GPU安全漏洞存在&#xff1a; iPhone 12和M2 MacBook Air受影响 近日&#xff0c;苹果公司承认其部分产品存在GPU安全漏洞&#xff0c;这些漏洞可能会影响iPhone 12和M2 MacBook Air等设备的安全性。这一消息引起了广泛的关注和担忧&#xff0c;因为这些设备是许多用户…...

【Vue3】3-1 : 章节介绍 - Vue3组件应用及单文件组件

本书目录&#xff1a;点击进入 一、本章学习目标 二、课程安排 一、本章学习目标 Vue3组件相关概念掌握组件之间的通信封装一个可复用的组件单文件组件SFC&#xff1a;即.vue文件 样式 结构 逻辑脚手架的使用和底层实现机制工程化的认知 二、课程安排 组件的概念及组件的基…...

【数据结构】二叉树(遍历,递归)

&#x1f308;个人主页&#xff1a;秦jh__https://blog.csdn.net/qinjh_?spm1010.2135.3001.5343&#x1f525; 系列专栏&#xff1a;《数据结构》https://blog.csdn.net/qinjh_/category_12536791.html?spm1001.2014.3001.5482 ​​​ 目录 二叉树遍历规则 前序遍历 ​…...

《微信小程序开发从入门到实战》学习八十五

6.15 设备API 6.15.2 添加联系人API 使用wx.addPhoneContact接口可以在用户的手机通讯录中添加联系人信息。用户可以选择“新增联系人”或“添加到已有联系人”。该接口接受Object参数&#xff0c;参支持属性如下所示&#xff1a; firstName&#xff1a;必填&#xff0c;名字…...

设计模式——命令模式

命令模式&#xff08;Command Pattern&#xff09;是一种行为型设计模式&#xff0c;它将一个请求封装为一个对象&#xff0c;使发出请求的对象和执行请求的对象解耦。这样可以方便地对请求排队、记录日志、撤销/重做操作以及支持可扩展性。 原理 命令接口&#xff08;Comman…...

Modbus协议学习第三篇之协议通信规则

导语 本篇博客将深入介绍Modbus协议的一些内容&#xff0c;主要包括通讯方式和通讯模型的介绍 Modbus通讯方式 Modbus协议是单主机、多从机的通信协议&#xff0c;即同一时间&#xff0c;总线上只能有一个主设备&#xff0c;但可以有一个或者多个从设备&#xff08;最多好像是2…...

git仓库使用说明

Git软件使用 1.先下载git相关软件 下载地址&#xff1a; Git - Downloading Package (git-scm.com) 下载其中一个安装 2.打开gitee网站&#xff0c;注册账号 3.打开个人中心&#xff0c;选择ssh公钥&#xff0c;查看如何生成公钥 4.生成公钥后&#xff0c;添加相应的公钥 …...

边缘计算和联邦学习的联系

1. 什么是边缘计算&#xff1f; 边缘计算&#xff08;Edge Computing&#xff09;是一种计算模型&#xff0c;其主要思想是将计算、存储和数据处理能力推送到离数据源近的边缘设备&#xff0c;而不是依赖于远程的云服务器。这样做的目的是减少数据传输延迟、提高响应速度&…...

机器学习算法理论:贝叶斯

贝叶斯定理对于机器学习来说是经典的概率模型之一&#xff0c;它基于先验信息和数据观测来得到目标变量的后验分布。具体来说&#xff0c;条件概率&#xff08;也称为后验概率&#xff09;描述的是事件A在另一个事件B已经发生的条件下的发生概率&#xff0c;公式表示为P(A|B)&a…...

229.【2023年华为OD机试真题(C卷)】手机App防沉迷系统(模拟-JavaPythonC++JS实现)

🚀点击这里可直接跳转到本专栏,可查阅顶置最新的华为OD机试宝典~ 本专栏所有题目均包含优质解题思路,高质量解题代码(Java&Python&C++&JS分别实现),详细代码讲解,助你深入学习,深度掌握! 文章目录 一. 题目-手机App防沉迷系统二.解题思路三.题解代码Pyth…...

关系运算符

Oracle从入门到总裁:https://blog.csdn.net/weixin_67859959/article/details/135209645 补充: 如果要想对所选择的数据行进行控制&#xff0c;那么可以利用 WHERE 子句完成&#xff0c;此时的 SQL 语法结构变为如下形式 先系统性介绍下: ● 关系运算&#xff1a; >、、&…...

K8s-架构

一、K8s节点划分 K8s集群包含Master(控制节点)和Node(工作节点)&#xff0c;应用部署在Node节点上。 集群架构图&#xff1a; 二、Master节点 Master节点分成四个组件&#xff1a;scheduler、ApiServer、Controller Manager、ETCD。类似三层结构&#xff0c;controller&#…...

C++ 并发编程 | 进程与线程

一、进程与线程 1、进程 1.1、定义 操作系统中最核心的概念就是进程&#xff0c;进程是对正在运行中的程序的一个抽象&#xff0c;是系统进行资源分配和调度的基本单位。进程是一种抽象的概念&#xff0c;一般由程序、数据集合和进程控制块三部分组成&#xff0c;如下&#x…...

基于Python实现身份证信息识别

目录 前言身份证信息识别的背景与意义自动识别身份证的需求实现环境与工具准备Python编程语言OpenCV图像处理库Tesseract OCR引擎身份证信息识别算法原理图像预处理步骤(图像裁剪、灰度化 、二值化、去噪)信息提取与解析Python代码实现通过OCR提取身份证号码代码解析身份证信息…...

FFmpeg 全链路中间件深度分析

一、开源代码目录文件树形分析1.1 FFmpeg 源码整体架构树FFmpeg ├── configure # 配置脚本&#xff08;生成config.h/config.mak&#xff09; ├── Makefile # 顶层Makefile ├── Changelog # 版本变更…...

别再乱找了!Win11/Win10下WSL的wsl.conf和.wslconfig文件路径全解析(附修改教程)

WSL配置文件定位与修改实战指南&#xff1a;从路径解析到高效配置 1. 理解WSL配置体系的核心架构 每次启动WSL时&#xff0c;系统会按照特定顺序加载两类配置文件&#xff1a;.wslconfig和wsl.conf。这两者虽然名称相似&#xff0c;但作用域和功能定位完全不同&#xff0c;理解…...

告别.crx文件!手把手教你用crx2rnx工具转换GNSS观测值为RINEX格式(附武汉大学IGS数据下载指南)

从CRX到RINEX&#xff1a;GNSS观测数据转换实战指南 在卫星导航定位领域&#xff0c;RINEX&#xff08;Receiver Independent Exchange Format&#xff09;作为国际通用的标准数据格式&#xff0c;几乎成为所有GNSS数据处理软件的"通用语言"。然而&#xff0c;许多初…...

[特殊字符] Nano-Banana参数详解:LoRA权重对部件排布影响的实证分析

Nano-Banana参数详解&#xff1a;LoRA权重对部件排布影响的实证分析 1. 项目简介 Nano-Banana是一款专为产品拆解和平铺展示风格设计的轻量化文本生成图像系统。这个项目的核心价值在于深度融合了专属的Turbo LoRA微调权重&#xff0c;专门针对Knolling平铺、爆炸图、产品部件…...

如何创建完美的LessPass密码配置文件:10个最佳实践与安全建议

如何创建完美的LessPass密码配置文件&#xff1a;10个最佳实践与安全建议 【免费下载链接】lesspass :key: stateless open source password manager 项目地址: https://gitcode.com/gh_mirrors/le/lesspass LessPass是一款开源的无状态密码管理器&#xff0c;它通过密码…...

母版设置、讲义母版、模板设置

母版设置、讲义母版、模板设置一. 母版设置1.1 插入母版及版式1.2 重命名母版及版式1.3 版式设置1.4 例题二. 讲义母版2.1 讲义母版设置三. 模板设置3.1 导入模板3.2 例题一. 母版设置 1.1 插入母版及版式 插入母版 插入版式&#xff0c;先点击一下母版 1.2 重命名母版及版…...

RT-Thread内核启动流程与自动初始化机制详解

RT-Thread内核启动流程深度解析1. RT-Thread内核架构概述RT-Thread是一款开源的实时操作系统(RTOS)&#xff0c;其内核设计采用模块化架构&#xff0c;主要由两大部分组成&#xff1a;1.1 内核库实现内核库是RT-Thread独立运行的基础设施&#xff0c;提供了一套精简的C库函数实…...

OpenClaw技能开发:为百川2-13B-4bits模型定制专属自动化模块

OpenClaw技能开发&#xff1a;为百川2-13B-4bits模型定制专属自动化模块 1. 为什么需要为特定模型定制技能&#xff1f; 去年我在尝试用OpenClaw自动化处理技术文档时&#xff0c;发现一个有趣的现象&#xff1a;同样的"整理会议录音并生成摘要"任务&#xff0c;使…...

5个关键步骤:TileLang高性能GPU算子从入门到精通

5个关键步骤&#xff1a;TileLang高性能GPU算子从入门到精通 【免费下载链接】tilelang Domain-specific language designed to streamline the development of high-performance GPU/CPU/Accelerators kernels 项目地址: https://gitcode.com/GitHub_Trending/ti/tilelang …...

Python内存泄漏自动拦截方案(CPython 3.8+内核级策略大揭秘)

第一章&#xff1a;Python内存泄漏自动拦截方案&#xff08;CPython 3.8内核级策略大揭秘&#xff09;CPython 3.8 引入的 tracemalloc 增强机制与对象生命周期钩子&#xff08;PyObject_New, PyObject_Free 的可插拔拦截点&#xff09;&#xff0c;为内存泄漏的实时感知与自动…...