CG游麟网官方站
查看: 2205|回复: 8

C#语言建立本地数据库

[复制链接]

9

主题

9

帖子

47

积分

初入江湖

Rank: 1

麒麟币
38
任务币
0
威望
0
贡献
0
主题
9
在线时间
3 小时
发表于 2015-9-11 17:57:08 | 显示全部楼层 |阅读模式

以前在开发中一直使用IOS源生的数据库,通过传递消息的形式在与Unity3D中进行交互。本文我在详细说说如何使用C#语言来在MAC 操作系统下创建Unity本地数据库,我是C#控.
首先你需要得到Mono.Data.Sqlite.dll 文件 与System.Data.dll文件。如果你在Mac 操作系统下使用Unity那么很悲剧,找不到这两个文件,至少我没能找到。后来我在Windows下的Unity安装路径中找到了它。为了方便大家我将这两个文件上传至网盘中,如果没有这两个文件的朋友请下载。Unity数据库文件.zip
.zip文件下载完毕后直接解压,然后将Mono.Data.Sqlite.dll 文件 与System.Data.dll文件放在Unity工程中的Assets文件夹中。如下图所示,两个文件已经放置在Project视图当中。
0.jpg Ok ,我们编写C#脚本,原始文章没有Unity数据库更新与删除的方法,我在这里加上更新与删除的方法,方便大家开发时使用。因为其实Unity中更新与删除数据库也是个比较重要的功能。
注意:下面脚本不要绑定在任何游戏对象身上,大家无需把它当作脚本可以当作一个工具类来使用。
[代码]java代码:
001using UnityEngine;
002
003using System;
004using System.Collections;
005using Mono.Data.Sqlite;
006
007public class DbAccess
008
009{
010
011 private SqliteConnection dbConnection;
012
013 private SqliteCommand dbCommand;
014
015 private SqliteDataReader reader;
016
017 public DbAccess (string connectionString)
018
019 {
020
021 OpenDB (connectionString);
022
023 }
024 public DbAccess ()
025 {
026
027 }
028
029 public void OpenDB (string connectionString)
030
031 {
032 try
033 {
034 dbConnection = new SqliteConnection (connectionString);
035
036 dbConnection.Open ();
037
038 Debug.Log ("Connected to db");
039 }
040 catch(Exception e)
041 {
042 string temp1 = e.ToString();
043 Debug.Log(temp1);
044 }
045
046 }
047
048 public void CloseSqlConnection ()
049
050 {
051
052 if (dbCommand != null) {
053
054 dbCommand.Dispose ();
055
056 }
057
058 dbCommand = null;
059
060 if (reader != null) {
061
062 reader.Dispose ();
063
064 }
065
066 reader = null;
067
068 if (dbConnection != null) {
069
070 dbConnection.Close ();
071
072 }
073
074 dbConnection = null;
075
076 Debug.Log ("Disconnected from db.");
077
078 }
079
080 public SqliteDataReader ExecuteQuery (string sqlQuery)
081
082 {
083
084 dbCommand = dbConnection.CreateCommand ();
085
086 dbCommand.CommandText = sqlQuery;
087
088 reader = dbCommand.ExecuteReader ();
089
090 return reader;
091
092 }
093
094 public SqliteDataReader ReadFullTable (string tableName)
095
096 {
097
098 string query = "SELECT * FROM " + tableName;
099
100 return ExecuteQuery (query);
101
102 }

评分

参与人数 1麒麟币 +20 收起 理由
x.7 + 20

查看全部评分

回复

使用道具 举报

2

主题

4790

帖子

3万

积分

垂名青史

Rank: 16Rank: 16Rank: 16Rank: 16

麒麟币
27534
任务币
350
威望
3
贡献
264
主题
2
在线时间
745 小时

最佳新人忠实会员

发表于 2015-9-11 21:45:07 | 显示全部楼层
真的非常棒!
回复 支持 反对

使用道具 举报

2

主题

4790

帖子

3万

积分

垂名青史

Rank: 16Rank: 16Rank: 16Rank: 16

麒麟币
27534
任务币
350
威望
3
贡献
264
主题
2
在线时间
745 小时

最佳新人忠实会员

发表于 2015-9-11 21:46:50 | 显示全部楼层
真的非常棒!
回复 支持 反对

使用道具 举报

0

主题

9

帖子

34

积分

初入江湖

Rank: 1

麒麟币
25
任务币
0
威望
0
贡献
0
主题
0
在线时间
0 小时
发表于 2015-9-11 22:01:07 | 显示全部楼层
水水水水水水水水水水水水水水水
回复 支持 反对

使用道具 举报

4

主题

74

帖子

128

积分

锋芒初露

Rank: 2

麒麟币
54
任务币
0
威望
0
贡献
0
主题
4
在线时间
27 小时
发表于 2015-9-11 23:14:46 | 显示全部楼层
谢谢楼主分享
回复 支持 反对

使用道具 举报

0

主题

4491

帖子

4934

积分

誉满一方

Rank: 8Rank: 8

麒麟币
388
任务币
170
威望
0
贡献
0
主题
0
在线时间
876 小时
发表于 2015-9-12 09:09:06 | 显示全部楼层
我一直默默的支持楼主
回复 支持 反对

使用道具 举报

17

主题

717

帖子

2469

积分

名动江湖

Rank: 6Rank: 6

麒麟币
1734
任务币
50
威望
0
贡献
0
主题
17
在线时间
66 小时

最佳新人忠实会员

发表于 2015-9-12 09:50:55 | 显示全部楼层
我一直默默支持楼主~
回复 支持 反对

使用道具 举报

16

主题

2840

帖子

1万

积分

无人不晓

Rank: 12Rank: 12Rank: 12

麒麟币
11918
任务币
300
威望
0
贡献
0
主题
16
在线时间
336 小时

最佳新人忠实会员

发表于 2015-9-15 12:25:53 | 显示全部楼层
感谢楼主分享!!!
回复 支持 反对

使用道具 举报

0

主题

93

帖子

193

积分

锋芒初露

Rank: 2

麒麟币
97
任务币
0
威望
0
贡献
0
主题
0
在线时间
30 小时

最佳新人忠实会员

发表于 2015-9-15 17:56:59 | 显示全部楼层

我一直默默的支持楼主
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

在线客服
客服QQ:
47413829
新QQ群:
418757022
在线时间:周一至周五
9:00-22:00 Email:
47413829@qq.com
举报:网盘资源失效
在线客服
快速回复 返回顶部 返回列表