[转载]Unity3D 访问Access数据库
在开始这个小教程之前呢,其实在网上你已经可以找到相关的资料了,但是我还是要把我自己做练习的一点东西分享出来。写这个教程的主要原因呢,是一个朋友在u3d的官网论坛里,找到了这个demo,但是在他使用的过程中遇到了问题,我看了给他解决掉之后,为了其他朋友不至于发生同类的问题,特在此唠叨一番。在开始主题之前呢,我真的想说,北京的公交太不给力了,我这几天,每次等公交都要一个多小时,直接崩溃中。好,闲话不扯啦!下面开始我的教程之旅吧!
Access数据库呢,是一个轻量级的数据库,以前在学习.net应用开发的时候了解过。在pc的软件开发中,很多时候,我们存储的数据量不会很大的情况都会选择他,主要他轻量级,容易部署。更多Access的问题,可以去微软的官网查看。
在U3D中要访问Access数据库,我们需要用到两个dll,System.Data.dll和System.EnterpriseServices.dll,缺一不可。我们找到这两个dll放到u3d的Plugins文件夹下面。
/* |-------------------------------------------* |作者:Mr.野猪* |* |时间:2012/09/26 晚:23:56* |* |目的:用于技术交流* |------------------------------------------*/ using UnityEngine; using System.Collections; //引入命名空间 using System; using System.Data; using System.Data.Odbc; public class RaderData : MonoBehaviour {/// <summary>/// 声明一个接受读取数据字段值的变量/// </summary>string text = string.Empty;public void Start(){//读取数据文件。ReadStudent(Application.dataPath + "/Wild boar.accdb");}/// <summary>/// 读取表数值的函数/// </summary>/// <param name="filetoread">数据文件的路径</param>internal void ReadStudent(string filetoread){//声明连接数据库的字段string connection = "Driver={Microsoft Access Driver (*.mdb, *.accdb)}; DBQ=" + filetoread;//从表中查询所有数据string sqlQuery = "select * from Student";//打开数据库OdbcConnection con = new OdbcConnection(connection);//对数据库进行操作OdbcCommand cmd = new OdbcCommand(sqlQuery,con);//根据表名,读取数据到一个临时表DataTable dt = new DataTable("Student");//try catch finally进行了异常处理,这个是好习惯,嘿嘿try{//打开数据库 con.Open();//读取数据OdbcDataReader reader = cmd.ExecuteReader();//把数据加载到临时表 dt.Load(reader);//在使用完毕之后,一定要关闭,要不然会出问题 reader.Close();//关闭数据库 con.Close();}catch (Exception ex){Debug.Log(ex.ToString());}finally{//判断数据库是否打开,如果打开就关闭。if (con.State!=ConnectionState.Closed){con.Close();}//释放数据库资源 con.Dispose();}if (dt.Rows.Count>0){//读取数据for (int i = 0; i < dt.Rows.Count; i++){text = dt.Columns[0].ColumnName + " : " + dt.Rows[dt.Columns[0].ColumnName].ToString() + " | " + dt.Columns[1].ColumnName + " : " + dt.Rows[dt.Columns[1].ColumnName].ToString() + " | " + dt.Columns[2].ColumnName + " : " + dt.Rows[dt.Columns[2].ColumnName].ToString() + " | " + dt.Columns[3].ColumnName + " : " + dt.Rows[dt.Columns[3].ColumnName].ToString();Debug.Log(dt.Columns[0].ColumnName + " : " + dt.Rows[dt.Columns[0].ColumnName].ToString() + " | " + dt.Columns[1].ColumnName + " : " + dt.Rows[dt.Columns[1].ColumnName].ToString() + " | " + dt.Columns[2].ColumnName + " : " + dt.Rows[dt.Columns[2].ColumnName].ToString() + " | " + dt.Columns[3].ColumnName + " : " + dt.Rows[dt.Columns[3].ColumnName].ToString());}}}public void OnGUI(){GUI.Label(new Rect(10,10,500,200),text);} }
转载于:https://www.cnblogs.com/iack/p/3575734.html
[转载]Unity3D 访问Access数据库相关推荐
- Unity3D 访问Access数据库
Unity3D 访问Access数据库 在开始这个小教程之前呢,其实在网上你已经可以找到相关的资料了,但是我还是要把我自己做练习的一点东西分享出来.写这个教程的主要原因呢,是一个朋友在u3d的官网论坛 ...
- 使用JDBC-ODBC桥接方式访问Access数据库(实例)
<!-- 使用JDBC-ODBC桥接方式访问Access数据库 --> <% String drivername="sun.jdbc.odbc.JdbcOdbcDriver ...
- 使用c#访问Access数据库时,提示找不到可安装的 ISAM
使用c#访问Access数据库时,提示找不到可安装的 ISAM,如下图: 代码如下: connectionString = "Provider=Microsoft.Jet.OLEDB.4.0 ...
- EVC4.0+AdoCe3.1访问Access数据库全攻略(附带说明及例程)
http://bbs.mscommunity.com/forums/ShowThread.aspx?PostID=26641 EVC4.0+AdoCe3.1访问Access数据库全攻略(附带说明及例程 ...
- python连接access数据库odbc_对Python通过pypyodbc访问Access数据库的方法详解
看书上通过ODBC访问数据库的案例,想实践一下在Python 3.6.1中实现access2003数据库的链接,但是在导入odbc模块的时候出现了问题,后来查了一些资料就尝试着使用pypyodbc,最 ...
- vb如何测试连接mysql_VB怎么连接访问Access数据库?
VB是我们常常会见到的一款可视化程序设计语言,它的功能十分强大,因此有很多人会使用它,但是有时候我们需要用到VB来连接Access数据库,但是却无从下手,那么VB怎么连接访问Access数据库呢?不懂 ...
- Win7 64bit IIS无法访问ACCESS数据库解决方案
本地网站的虚拟站点上部署一个ACCESS数据库,使用VS内置的 Visual Web Dcveloper Web服务器,在本地打开的网页中,是可以访问ACCESS数据库的. 而使用IIS服务器,并网站 ...
- Unity访问Access数据库
首先,准备工作: 创建一个Access 数据库,命名AccessTest.accdb,添加一些数据用于测试 准备System.Data.dll与System.EnterpriseServices.dl ...
- SQL SERVER访问Access数据库,出现错误:无法初始化链接服务器 (null) 的 OLE DB 访问接口 Microsoft.Jet.OLEDB.4.0 的数据源对象
SQL SERVER访问Access数据库,出现错误: 无法初始化链接服务器 "(null)" 的 OLE DB 访问接口 "Microsoft.Jet.OLEDB.4. ...
- java jdbc访问access数据库_Java实训设计----使用JDBC访问Access数据库
运行测试环境 JAVA JDK:j2sdk-1_5_0-beta-windows-i586 集成环境:JCreatorPro_3.50.013_Fix-Georgewing PS:我在自己的机子上成功 ...
最新文章
- RTX 30系游戏本来了!1月26日开售,售价999美元起
- python 易支付sdk
- Vue+Video.js播放m3u8视频流(海康威视摄像头+RTMP服务+FFmpeg)
- WinCE5.0 SMDK2410 BSP在GEC2410开发板上的移植(11)-BINFS在Nand上的实现(Multi-Bin的实现)
- Android RenderScript 关于Compute 的使用
- Django文件上传***
- 20165205 2017-2018-2 《Java程序设计》实验三 敏捷开发与XP实践
- PowerBuilder 数据窗口实例四(用户信息查询)
- 九种食物摆脱便秘烦恼 - 生活至上,美容至尚!
- 新偶像时代:被直播重构的粉丝经济和社交平台
- Win7主题制作修改教程
- zabbix监控系统介绍
- Huffman编码解压缩的通俗讲解
- 百度旋转验证码(8-24,js逆向)
- Linux下玩转Dota2
- 手搭深度推荐模型(四) NFM
- IDEA 配置git 完成项目下载和提交
- Removal【套路DP】
- 单元测试——使用Mock
- OpenSSL C++简单应用
热门文章
- 三个 CSS 预处理器(框架):Sass、LESS 和 Stylus
- HDU 5857 - Median ( 查询模拟 + 思路 )
- Java 核心内容相关面试题【3】
- vue引入bootstrap.min.css报错:Cannot find module ./assets/css/bootstrap.min.css
- 浏览器默认事件,事件监听,事件委托
- git遇到的问题解决方案
- 微信 oauth授权2
- (转)mysql中InnoDB表为什么要建议用自增列做主键
- 基于Linux平台的libpcap源码分析和优化
- §3—1 复式记账法 [第三章 复式记账 ]