unity SqLite读取行和列

2024-01-18 18:52
文章标签 读取 unity sqlite 行和列

本文主要是介绍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读取行和列的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/619933

相关文章

C#使用SQLite进行大数据量高效处理的代码示例

《C#使用SQLite进行大数据量高效处理的代码示例》在软件开发中,高效处理大数据量是一个常见且具有挑战性的任务,SQLite因其零配置、嵌入式、跨平台的特性,成为许多开发者的首选数据库,本文将深入探... 目录前言准备工作数据实体核心技术批量插入:从乌龟到猎豹的蜕变分页查询:加载百万数据异步处理:拒绝界面

解决Java中基于GeoTools的Shapefile读取乱码的问题

《解决Java中基于GeoTools的Shapefile读取乱码的问题》本文主要讨论了在使用Java编程语言进行地理信息数据解析时遇到的Shapefile属性信息乱码问题,以及根据不同的编码设置进行属... 目录前言1、Shapefile属性字段编码的情况:一、Shp文件常见的字符集编码1、System编码

利用Python实现添加或读取Excel公式

《利用Python实现添加或读取Excel公式》Excel公式是数据处理的核心工具,从简单的加减运算到复杂的逻辑判断,掌握基础语法是高效工作的起点,下面我们就来看看如何使用Python进行Excel公... 目录python Excel 库安装Python 在 Excel 中添加公式/函数Python 读取

Python如何实现读取csv文件时忽略文件的编码格式

《Python如何实现读取csv文件时忽略文件的编码格式》我们再日常读取csv文件的时候经常会发现csv文件的格式有多种,所以这篇文章为大家介绍了Python如何实现读取csv文件时忽略文件的编码格式... 目录1、背景介绍2、库的安装3、核心代码4、完整代码1、背景介绍我们再日常读取csv文件的时候经常

C#中读取XML文件的四种常用方法

《C#中读取XML文件的四种常用方法》Xml是Internet环境中跨平台的,依赖于内容的技术,是当前处理结构化文档信息的有力工具,下面我们就来看看C#中读取XML文件的方法都有哪些吧... 目录XML简介格式C#读取XML文件方法使用XmlDocument使用XmlTextReader/XmlTextWr

Java读取InfluxDB数据库的方法详解

《Java读取InfluxDB数据库的方法详解》本文介绍基于Java语言,读取InfluxDB数据库的方法,包括读取InfluxDB的所有数据库,以及指定数据库中的measurement、field、... 首先,创建一个Java项目,用于撰写代码。接下来,配置所需要的依赖;这里我们就选择可用于与Infl

C#读取本地网络配置信息全攻略分享

《C#读取本地网络配置信息全攻略分享》在当今数字化时代,网络已深度融入我们生活与工作的方方面面,对于软件开发而言,掌握本地计算机的网络配置信息显得尤为关键,而在C#编程的世界里,我们又该如何巧妙地读取... 目录一、引言二、C# 读取本地网络配置信息的基础准备2.1 引入关键命名空间2.2 理解核心类与方法

C#实现文件读写到SQLite数据库

《C#实现文件读写到SQLite数据库》这篇文章主要为大家详细介绍了使用C#将文件读写到SQLite数据库的几种方法,文中的示例代码讲解详细,感兴趣的小伙伴可以参考一下... 目录1. 使用 BLOB 存储文件2. 存储文件路径3. 分块存储文件《文件读写到SQLite数据库China编程的方法》博客中,介绍了文

SpringBoot使用Apache POI库读取Excel文件的操作详解

《SpringBoot使用ApachePOI库读取Excel文件的操作详解》在日常开发中,我们经常需要处理Excel文件中的数据,无论是从数据库导入数据、处理数据报表,还是批量生成数据,都可能会遇到... 目录项目背景依赖导入读取Excel模板的实现代码实现代码解析ExcelDemoInfoDTO 数据传输

Python读取TIF文件的两种方法实现

《Python读取TIF文件的两种方法实现》本文主要介绍了Python读取TIF文件的两种方法实现,包括使用tifffile库和Pillow库逐帧读取TIFF文件,具有一定的参考价值,感兴趣的可以了解... 目录方法 1:使用 tifffile 逐帧读取安装 tifffile:逐帧读取代码:方法 2:使用