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

Unity 将Excel表格中的数据导入到Mysql数据表中

1.Mysql数据表users如下:

2.即将导入的Excel表格如下:

3.代码如下:

using System;
using System.Data;
using System.IO;
using Excel;
using MySql.Data.MySqlClient;
using UnityEngine;
using UnityEditor;public class ImportExcel
{// 数据库连接字符串,需根据实际情况修改private const string ConnectionString = "server=localhost;database=mygamedb;uid=root;pwd=123456;";[MenuItem("Excel操作/导入Excel数据到MySQL")]static void ImportExcelToMySQL(){string excelPath = Application.streamingAssetsPath + "/学生信息.xlsx";try{// 读取Excel数据DataRowCollection dataRows = ReadExcel(excelPath);if (dataRows != null && dataRows.Count > 0){// 连接MySQL数据库并插入数据InsertDataToMySQL(dataRows);}}catch (Exception e){Debug.LogError("导入数据时出错:" + e.Message);}}private static DataRowCollection ReadExcel(string path){try{using (FileStream stream = File.Open(path, FileMode.Open, FileAccess.Read)){IExcelDataReader excelReader = ExcelReaderFactory.CreateOpenXmlReader(stream);DataSet result = excelReader.AsDataSet();return result.Tables[0].Rows;}}catch (Exception e){Debug.LogError("读取Excel文件时出错:" + e.Message);return null;}}private static void InsertDataToMySQL(DataRowCollection dataRows){using (MySqlConnection connection = new MySqlConnection(ConnectionString)){try{connection.Open();// 查询当前最大的id值string str_总数据条数 = "SELECT COUNT(*) AS total_records FROM users";MySqlCommand maxIdCommand = new MySqlCommand(str_总数据条数, connection);object obj_总数据条数 = maxIdCommand.ExecuteScalar();Debug.Log(Convert.ToInt32(obj_总数据条数));// 插入语句包含id字段,数据库自增长会自动赋值string insertQuery = "INSERT INTO users (id, username, password, registerdate) VALUES (@id, @username, @password, @registerdate)";using (MySqlCommand command = new MySqlCommand(insertQuery, connection)){// 从第二行开始插入数据,跳过标题行for (int i = 1; i < dataRows.Count; i++){DataRow row = dataRows[i];command.Parameters.Clear();command.Parameters.AddWithValue("@id", Convert.ToInt32(obj_总数据条数)+i);command.Parameters.AddWithValue("@username", row[0]);command.Parameters.AddWithValue("@password", row[1]);// 处理日期格式,假设Excel中的日期格式可直接转换DateTime registerDate;if (DateTime.TryParse(row[2].ToString(), out registerDate)){command.Parameters.AddWithValue("@registerdate", registerDate);}else{Debug.LogWarning("无法解析日期:" + row[2] + ",使用默认值");command.Parameters.AddWithValue("@registerdate", DateTime.Now);}command.ExecuteNonQuery();}}Debug.Log("数据成功导入到MySQL数据库");}catch (Exception e){Debug.LogError("插入数据到MySQL时出错:" + e.Message);}}}
}

相关文章:

Unity 将Excel表格中的数据导入到Mysql数据表中

1.Mysql数据表users如下&#xff1a; 2.即将导入的Excel表格如下&#xff1a; 3.代码如下&#xff1a; using System; using System.Data; using System.IO; using Excel; using MySql.Data.MySqlClient; using UnityEngine; using UnityEditor;public class ImportExcel {// …...

【QT】信号与槽中多个按钮(pushbutton)共用一个槽函数的两种实现方式

两种方法的对比 方法1&#xff1a;sender() 优点&#xff1a;代码简洁&#xff0c;无需额外参数 缺点&#xff1a;依赖运行时类型转换&#xff0c;安全性较低 适用场景&#xff1a;简单场景&#xff0c;少量按钮 方法2&#xff1a;Lambda (推荐) 优点&#xff1a;安全直观&…...

Python----深度学习(神经网络的过拟合解决方案)

一、正则化 1.1、正则化 正则化是一种用于控制模型复杂度的技术。它通过在损失函数中添加额外的项&#xff08;正则 化项&#xff09;来降低模型的复杂度&#xff0c;以防止过拟合。 在机器学习中&#xff0c;模型的目标是在训练数据上获得较好的拟合效果。然而&#xff0c;过…...

【金仓数据库征文】从 HTAP 到 AI 加速,KingbaseES 的未来之路

国产数据库早已实现 “可替代”&#xff0c;但要真正与国际头部厂商掰手腕&#xff0c;必须在 HTAP&#xff08;Hybrid‑Transaction/Analytical Processing&#xff09;与 AI 加速 两条技术赛道上实现跨越。KingbaseES 自 V8R3 调整为多进程架构后&#xff0c;历经 V8R6、KSOn…...

创建第一个Spring Boot项目

什么是Spring Boot 随着Spring的快速发展&#xff0c;项目中的XML文件越来越多&#xff0c;繁琐的配置以及&#xff0c;整合第三方框架的配置问题&#xff0c;导致大大增加了开发和部署的效率&#xff0c;使开发者无法专心于业务的开发。Spring Boot就相当于使Spring框架的脚手…...

Java—— 正则表达式 练习

需求&#xff1a; 请编写正则表达式验证用户输入的手机号码是否满足要求。 请编写正则表达式验证用户输入的邮箱号是否满足要求。 请编写正则表达式验证用户输入的电话号码是否满足要求。 验证手机号码 13112345678 13712345667 13945679027 139456790271 验证座机电话号码 02…...

Linux[指令与权限]

Linux指令与权限 Linux环境中,打包文件有多种 tar (打包/解包) 指令 tar -czvf 文件要打包到的位置 文件(打包并压缩到) tar -xzvf 文件(在当前目录下解压) tar选项 -c创建压缩文件 -z使用gzip属性压缩 -v展现压缩过程 -f后面使用新建文档名 -x不要新建,解压 -C 文件…...

MySQL数据库精研之旅第十期:打造高效联合查询的实战宝典

专栏&#xff1a;MySQL数据库成长记 个人主页&#xff1a;手握风云 目录 一、简介 1.1. 为什么要使用联合查询 1.2. 多表联合查询时的计算 1.3. 示例 二、内连接 2.1. 语法 2.2. 示例 三、外连接 4.1. 语法 4.2. 示例 一、简介 1.1. 为什么要使用联合查询 一次查询需…...

【Redis】集合类型Set 常用命令详解

1. sadd - 添加 语法&#xff1a;sadd key value > sadd testset A 1 > sadd testset B 1 > sadd testset C 1 > sadd testset C # set的值不能重复 0 > smembers set1 # 查询指定set的所有值&#xff0c;乱序 1) "B" 2) "A" 3) "C&qu…...

React 5 种组件提取思路与实践

在开发时,经常遇到一些高度重复但略有差异的 UI 模式,此时我们当然会把组件提取出去,但是组件提取的方式有很多,怎么根据不同场景选取合适的方式呢?尤其时在复杂的业务场景中,组件提取的思路影响着着代码的可维护性、可读性以及扩展性。本文将以一个[详情]组件为例,探讨…...

第十五届蓝桥杯 2024 C/C++组 合法密码

目录 题目&#xff1a; 题目描述&#xff1a; 题目链接&#xff1a; 思路&#xff1a; substr函数&#xff1a; 思路详解&#xff1a; 代码&#xff1a; 代码详解; 题目&#xff1a; 题目描述&#xff1a; 题目链接&#xff1a; P10906 [蓝桥杯 2024 国 B] 合法密码 -…...

云原生时代的双轮驱动

在当今数字化浪潮汹涌澎湃的时代&#xff0c;企业 IT 主管、CIO、CTO 们肩负着引领企业乘风破浪、实现数字化转型的重任。而主数据平台与数据中台&#xff0c;宛如企业数字化征程中的双引擎&#xff0c;为企业发展注入强劲动力。 一、主数据与数据中台&#xff1a;企业数据世界…...

GD32F407单片机开发入门(六)定时器TIMER详解及实战含源码

文章目录 一.概要二.通用定时器内部结构1.时基单元2.时钟源3.输入捕获4.输出比较 三.通用定时器内部特色四.TIME定时器1ms中断例程五.工程源代码下载六.小结 一.概要 定时器就是计数器&#xff0c;应用在我们生活的方方面面&#xff0c;比如有闹钟、计时器等。在GD32F407VET6定…...

时序数据库 TDengine 助力石油石化业务, 平滑接替 Oracle 数据库

小T导读&#xff1a;胜软科技在石油石化行业中选择使用 TDengine 处理时序数据&#xff0c;不仅显著降低了运维数据库的成本&#xff0c;也大幅减少了存储空间的占用&#xff0c;实现了从原有的 40 多套 Oracle 数据库向仅 9 套 TDengine集群的精简替换。在迁移过程中&#xff…...

【问题解决】本机navicat连接云服务器mysql

一般情况下&#xff0c;当你使用navicat等工具连接云服务器会因为mysql的安全机制&#xff0c;导致无法连接root用户&#xff0c;但是在测试环境中&#xff0c;不考虑安全性的前提条件下&#xff0c;可以通过修改MySQL的配置文件来连接云服务器mysql的root用户。 选择数据库&am…...

STM32F407 的通用定时器与串口配置深度解析

在 STM32F407 芯片的开发过程中&#xff0c;通用定时器和串口的配置与使用是极为关键的技能点。本文将结合提供的代码示例&#xff0c;深入剖析这两个模块的配置流程、工作原理以及实际应用&#xff0c;助力开发者更好地掌握相关技术。 一、通用定时器 &#xff08;一&#x…...

深入探究Linux项目自动化构建工具:make与Makefile

目录 引言 一、make与Makefile概述 1.1 背景 1.2 理解 二、make工作原理 2.1 查找Makefile 2.2 确定目标文件 2.3 处理文件依赖 三、Makefile实例分析 3.1 简单C程序示例 3.2 项目清理机制 四、结合行缓冲区概念的有趣现象 五、结语 引言 在Linux软件开发的世界里…...

【Hive入门】Hive基础操作与SQL语法:DDL操作全面指南

目录 1 Hive DDL操作概述 2 数据库操作全流程 2.1 创建数据库 2.2 查看数据库 2.3 使用数据库 2.4 修改数据库 2.5 删除数据库 3 表操作全流程 3.1 创建表 3.2 查看表信息 3.3 修改表 3.4 删除表 4 分区与分桶操作 4.1 分区操作流程 4.2 分桶操作 5 最佳实践与…...

STM32F103 “BluePill” 上的 DMA 原理与实践

摘要:本文深入浅出地介绍什么是 DMA(直接存储器访问),它的核心原理、硬件架构,以及在 STM32F103(BluePill)上常见的几种使用场景(ADC、UART、内存拷贝等)。通过对比 CPU 轮询、中断、DMA 三种方式的数据搬运效率,结合寄存器级和 HAL 库示例代码,并附带性能测试与优化…...

软考软件设计师30天备考指南

文章目录 一、考情分析&#xff08;一&#xff09;综合知识&#xff08;二&#xff09;案例分析 二、30天学习规划&#xff08;一&#xff09;第1 - 5天&#xff1a;基础夯实&#xff08;二&#xff09;第6 - 10天&#xff1a;核心知识突破&#xff08;三&#xff09;第11 - 15…...

比较:AWS VPC peering与 AWS Transit Gateway

简述: VPC 对等连接和 Transit Gateway 用于连接多个 VPC。VPC 对等连接提供全网状架构,而 Transit Gateway 提供中心辐射型架构。Transit Gateway 提供大规模 VPC 连接,并简化了 VPC 间通信管理,相比 VPC 对等连接,支持大量 VPC 的 VPC 间通信管理。 VPC 对等连接 AWS V…...

【AI大模型】MCP:AI应用的“超级扩展坞”

一、什么是MCP MCP&#xff08;Model Context Protocol&#xff0c;模型上下文协议&#xff09;是一种新兴的开放协议&#xff0c;于2024年11月由Anthropic公司&#xff08;Claude的开发者&#xff09;开源。它的核心目标是建立一个类似USB-C的标准化协议&#xff0c;统一AI模…...

线程封装

目录 makefile Thread.hpp main.cc 以面向对象的方式造轮子 #ifndef _THREAD_HPP__ // 如果没有定义过 _THREAD_HPP__ #define _THREAD_HPP__ // 则定义 _THREAD_HPP__// 这里是头文件的实际内容&#xff08;类、函数声明等&#xff09;#endif // 结束条件…...

【Java后端】MyBatis 与 MyBatis-Plus 如何防止 SQL 注入?从原理到实战

在日常开发中&#xff0c;SQL 注入是一种常见但危害巨大的安全漏洞。如果你正在使用 MyBatis 或 MyBatis-Plus 进行数据库操作&#xff0c;这篇文章将带你系统了解&#xff1a;这两个框架是如何防止 SQL 注入的&#xff0c;我们又该如何写出安全的代码。 什么是 SQL 注入&#…...

智能穿戴的终极形态会是AR眼镜吗?

清晨的地铁里&#xff0c;戴着普通眼镜的小张正通过镜片查看实时导航路线&#xff0c;眼前的虚拟箭头精准指引换乘方向&#xff1b;手术室里&#xff0c;主刀医生透过镜片看到患者血管的3D投影&#xff0c;如同获得透视眼般精准避开危险区域&#xff1b;装修现场&#xff0c;设…...

ubantu18.04(Hadoop3.1.3)Hive3.1.2安装指南

说明&#xff1a;本文图片较多&#xff0c;耐心等待加载。&#xff08;建议用电脑&#xff09; 注意所有打开的文件都要记得保存。本文的操作均在Master主机下进行 第一步&#xff1a;准备工作 本文是在之前Hadoop搭建完集群环境后继续进行的&#xff0c;因此需要读者完成我之…...

Hive 多表查询案例

文章目录 前提条件Hive 多表查询案例JOIN案例JOIN查询数据准备1. 内连接&#xff08;INNER JOIN&#xff09;2. 左外连接&#xff08;LEFT OUTER JOIN&#xff09;3. 右外连接&#xff08;RIGHT OUTER JOIN&#xff09;4. 全外连接&#xff08;FULL OUTER JOIN&#xff09;5. 多…...

4.23刷题记录(栈与队列专题)

第一部分&#xff1a;基础知识 栈先进后出&#xff0c;队列先进先出栈用stack实现&#xff0c;主要函数有pop&#xff0c;push&#xff0c;top队列由queue或者deque实现&#xff0c;主要函数有front&#xff0c;back&#xff0c;push&#xff0c;pop&#xff0c;emplace&#…...

Python常用的第三方模块之【jieba库】支持三种分词模式:精确模式、全模式和搜索引擎模式(提高召回率)

Jieba 是一个流行的中文分词Python库&#xff0c;它提供了三种分词模式&#xff1a;精确模式、全模式和搜索引擎模式。精确模式尝试将句子最精确地切分&#xff0c;适合文本分析&#xff1b;全模式则扫描文本中所有可能的词语&#xff0c;速度快但存在冗余&#xff1b;搜索引擎…...

Redisson实战:分布式系统中的五大典型应用场景

引言 在分布式系统架构中&#xff0c;数据一致性、高并发控制和资源协调是开发者面临的核心挑战。Redisson作为基于Redis的Java客户端&#xff0c;不仅提供了丰富的分布式对象和服务&#xff0c;还简化了分布式场景下的编程模型。本文将通过实际代码示例&#xff0c;解析Redis…...

webrtc建立连接的过程

WebRTC 连接全过程&#xff1a;从零到视频通话的每一步 WebRTC 是个神奇的技术&#xff0c;让浏览器直接进行点对点&#xff08;P2P&#xff09;音视频通话或数据传输&#xff0c;不用每次都靠服务器中转。想知道 Alice 和 Bob 是怎么通过 WebRTC 建立视频通话的吗&#xff1f…...

system verilog 语句 耗时规则

在 SystemVerilog 中&#xff0c;确实有一类语句是**不消耗仿真时间(zero simulation time)**的&#xff0c;我们一般叫它们&#xff1a; ✅ 零延迟语句&#xff08;Zero-Time Statements&#xff09; &#x1f539;1. 什么是“不费时间”的语句&#xff1f; 这些语句在仿真时…...

【Docker】在Ubuntu平台上的安装部署

写在前面 docker作为一种部署项目的辅助工具&#xff0c;真是太好用了需要魔法&#xff0c;不然无法正常运行笔者环境&#xff1a;ubuntu22.04 具体步骤 更新系统包索引 sudo apt update安装必要依赖包 sudo apt install -y apt-transport-https ca-certificates curl softwa…...

2025年阅读论文的常用工具推荐

在快速发展的学术界&#xff0c;阅读和整理论文的能力对于研究者和学生来说至关重要。随着科技的进步&#xff0c;各种工具应运而生&#xff0c;帮助我们更高效地处理文献。本文将为您推荐一些2025年最常用的阅读论文工具&#xff0c;让您的学术之路更加顺畅。 1. SumiNote S…...

pod内部共享命名空间与k8s命名空间是一个东西吗?

文章目录 小知识-命名空间**下面着重介绍一下刚刚提到的内部命名空间**IPC NamespaceNetwork Namespace 本文摘自于我的免费专栏《Kubernetes从0到1&#xff08;持续更新&#xff09;》请多关注 小知识-命名空间 注意&#xff0c;首先我要强调一点&#xff0c;Kubernetes命名空…...

Linux笔记---进程间通信:匿名管道

1. 管道通信 1.1 管道的概念与分类 管道&#xff08;Pipe&#xff09; 是进程间通信&#xff08;IPC&#xff09;的一种基础机制&#xff0c;主要用于在具有亲缘关系的进程&#xff08;如父子进程、兄弟进程&#xff09;之间传递数据&#xff0c;其核心特性是通过内核缓冲区实…...

JAVA设计模式——(三)桥接模式

JAVA设计模式——&#xff08;三&#xff09;桥接模式&#xff08;Bridge Pattern&#xff09; 介绍理解实现武器抽象类武器实现类涂装颜色的行为接口具体颜色的行为实现让行为影响武器修改武器抽象类修改实现类 测试 适用性 介绍 将抽象和实现解耦&#xff0c;使两者可以独立…...

设计模式--工厂模式详解

工厂模式 作用&#xff1a; 实现了创建者与调用者的分离 详细分类 简单工厂模式 工厂方法模式 抽象工厂模式 OOP七大原则&#xff1a; 开闭原则&#xff1a;一个软件的实体应该对拓展开发&#xff0c;对修改关闭 依赖反转原则&#xff1a;要针对接口编程&#xff0c;不…...

每天五分钟深度学习PyTorch:图像的处理的上采样和下采样

本文重点 在pytorch中封装了上采样和下采样的方法,我们可以使用封装好的方法可以很方便的完成采样任务,采样分为上采样和下采样。 上采样和下采样 下采样(缩小图像)的主要目的有两个:1、使得图像符合显示区域的大小;2、生成对应图像的缩略图。 下采样( 放大图像)的…...

前端面试场景题

目录 1.项目第一次加载太慢优化 / vue 首屏加载过慢如何优化 2.说说了解的es6-es10的东西有哪些 ES6&#xff08;ES2015&#xff09;之后&#xff0c;JavaScript 新增了许多实用的数组和对象方法&#xff0c;下面为你详细介绍&#xff1a; 3.常见前端安全性问题 XSS&#…...

国际化不生效

经过我的重重检查 最终发现是 版本问题。 原本下载默认next版本cnpm install vue-i18nnext 下载 国际化插件 cnpm install vue-i18n^9.14.3 删除掉node_models&#xff0c;再重新加载包&#xff1a;cnpm install 这时候就可以正常显示了 国际化操作&#xff1a; en.js zh…...

新一代人工智能驱动医疗数智化:范式变革、实践方向及路径选择

人工智能(AI)正以前所未有的速度重构医疗健康行业的底层逻辑,从数据获取、知识建模到临床决策支持,AI不仅是“辅助工具”,更日益成为医疗生产力体系的核心引擎。随着大模型、计算平台和数智基础设施的迅猛发展,医疗数智化正进入从“点状创新”走向“系统重构”的深水区。…...

OpenCV 图形API(55)颜色空间转换-----将图像从 RGB 色彩空间转换为 I420 格式函数RGB2I420()

操作系统&#xff1a;ubuntu22.04 OpenCV版本&#xff1a;OpenCV4.9 IDE:Visual Studio Code 编程语言&#xff1a;C11 算法描述 将图像从 RGB 色彩空间转换为 I420 色彩空间。 该函数将输入图像从 RGB 色彩空间转换为 I420。R、G 和 B 通道值的常规范围是 0 到 255。 输出图…...

大模型安全吗?数据泄露与AI伦理的黑暗面!

大模型安全吗&#xff1f;数据泄露与AI伦理的黑暗面&#xff01; 随着人工智能技术的飞速发展&#xff0c;尤其是大型语言模型&#xff08;如GPT-3、BERT等&#xff09;的出现&#xff0c;AI的应用场景越来越广泛&#xff0c;从智能客服到内容生成&#xff0c;从医疗诊断到金融…...

穿越链路的旅程:深入理解计算机网络中的数据链路层

一、引言 在计算机网络的七层模型中&#xff0c;数据链路层&#xff08;Data Link Layer&#xff09; 是连接物理世界与逻辑网络世界的关键一环。它位于物理层之上&#xff0c;网络层之下&#xff0c;负责将物理层的“比特流”转换成具有结构的数据帧&#xff0c;并确保数据在…...

《AI大模型应知应会100篇》第35篇:Prompt链式调用:解决复杂问题的策略

第35篇&#xff1a;Prompt链式调用&#xff1a;解决复杂问题的策略 摘要 在大模型应用中&#xff0c;单次提示的能力往往受限于上下文长度和任务复杂度。为了解决这些问题&#xff0c;Prompt链式调用应运而生。本文将深入探讨如何通过分解任务、设计逻辑链路、传递中间结果&am…...

管理100个小程序-很难吗

20公里的徒步-真难 群里的伙伴发起了一场天目山20公里徒步的活动&#xff0c;想着14公里都轻松拿捏了&#xff0c;思考了30秒后&#xff0c;就借着春风带着老婆孩子就出发了。一开始溪流清澈见底&#xff0c;小桥流水没有人家&#xff1b;青山郁郁葱葱&#xff0c;枯藤老树没有…...

算法恢复训练-Part01-数组

注&#xff1a;参考的某算法训练营的计划 核心注意点 在 Golang&#xff08;和大多数主流语言&#xff0c;如 C/C&#xff09;中&#xff0c;二维数组按行访问的效率更高。因为它符合 Go 的内存连续存储结构&#xff0c;能提高 CPU Cache 命中率&#xff0c;减少内存跳跃带来…...

软件黑盒与白盒测试详解

黑盒测试与白盒测试的核心对比 一、定义与核心目标 黑盒测试 定义&#xff1a;将程序视为“黑盒”&#xff0c;仅通过输入和输出验证功能是否符合需求规格&#xff0c;不关注内部代码逻辑。目标&#xff1a;确保功能完整性、输入输出正确性及用户体验&#xff0c;例如验证购物车…...

本文通俗简介-优雅草星云物联网AI智控系统软件介绍-星云智控是做什么用途的??-优雅草卓伊凡

本文通俗简介-优雅草星云物联网AI智控系统软件介绍-星云智控是做什么用途的&#xff1f;&#xff1f;-优雅草卓伊凡 星云智控&#xff1a;物联网设备实时监控的革新力量 一、引言 在科技飞速发展的当下&#xff0c;物联网技术的广泛应用使得各类设备的实时监控与管理变得愈发…...