在U3D中要访问Access数据库,我们需要用到两个dll,SystemDatadll和SystemEnterpriseServicesdll,缺一不可。我们找到这两个dll放到u3d的Plugins文件夹下面。
下面我们创建一个Access数据库版本是07样式是accdb(03版本的Access数据库的样式为mdb)在我们进行code的时候,要根据不同的版本进行判断啦,对于不同的Access数据库版本,我们要对应不懂的文件后缀名。要不然会提示你数据库文件是未知文件。
下面是读取Access的一个demo,其他的修改,添加数据都是在修改他的sql语句啦。简单的代码如下:
using UnityEngine;
using SystemCollections;
//引入命名空间
using System;
using SystemData;
using SystemDataOdbc;
public class RaderData : MonoBehaviour
{
/// <summary>
/// 声明一个接受读取数据字段值的变量
/// </summary>
string text = stringEmpty;
public void Start()
{
//读取数据文件。
ReadStudent(ApplicationdataPath + “/Wild boaraccdb”);
}
/// <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
{
//打开数据库
conOpen();
//读取数据
OdbcDataReader reader = cmdExecuteReader();
//把数据加载到临时表
dtLoad(reader);
//在使用完毕之后,一定要关闭,要不然会出问题
readerClose();
//关闭数据库
conClose();
}
catch (Exception ex)
{
DebugLog(exToString());
}
finally
{
//判断数据库是否打开,如果打开就关闭。
if (conState!=ConnectionStateClosed)
{
conClose();
}
//释放数据库资源
conDispose();
}
if (dtRowsCount>0)
{
//读取数据
for (int i = 0; i < dtRowsCount; i++)
{
text = dtColumns[0]ColumnName + ” : ” + dtRows[dtColumns[0]ColumnName]ToString() + “ | ” + dtColumns[1]ColumnName + ” : ” + dtRows[dtColumns[1]ColumnName]ToString() + “ | ” + dtColumns[2]ColumnName + ” : ” + dtRows[dtColumns[2]ColumnName]ToString() + “ | ” + dtColumns[3]ColumnName + ” : ” + dtRows[dtColumns[3]ColumnName]ToString();
DebugLog(dtColumns[0]ColumnName + ” : ” + dtRows[dtColumns[0]ColumnName]ToString() + “ | ” + dtColumns[1]ColumnName + ” : ” + dtRows[dtColumns[1]ColumnName]ToString() + “ | ” + dtColumns[2]ColumnName + ” : ” + dtRows[dtColumns[2]ColumnName]ToString() + “ | ” + dtColumns[3]ColumnName + ” : ” + dtRows[dtColumns[3]ColumnName]ToString());
}
}
}
public void OnGUI()
{
GUILabel(new Rect(10,10,500,200),text);
}
}
方法如下:
[SQL Native Client]VIA 提供程序:找不到指定的模块。
[SQL Native Client]登录超时已过期
[SQL Native Client]建立到服务器的连接时发生错误。连接到SQL Server 2005时,默认设置SQL Server 不允许远程连接这个事实可能会导致失败。
打开sqlserver企业管理器-->打开sqlserver组-->右键单击本地的数据库,打开菜单中的属性--〉选择安全性,在身份验证下,选择“sqlserver和windows”,之后按确定就ok了
以上就是关于unity如何连接access数据库为什么出错DllNotFoundException:gda-2全部的内容,包括:unity如何连接access数据库为什么出错DllNotFoundException:gda-2、各位,现在unity 5.3 是怎么访问数据库的、在unity中不能连sql数据库怎么办等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)