首先导入SQlite的插件
在SQLiteManager中建好数据库文件
然后将文件拖到unity中,在unity中建立以下层次文件夹
然后就可以进行代码操作了。。。。。。
using UnityEngine;
using System.Collections;
using Mono.Data.Sqlite; //引入命名空间
public class Data_SQLite : MonoBehaviour
{
//创建一个数据库的连接对象,通过该对象与数据库文件进行链接,
//进而打开数据库文件
SqliteConnection con;
//数据库文件所在的目录
private string path;
//数据库命令/指令,他是sql语句的载体
SqliteCommand command;
void Start ()
{
//找到要链接数据库所在的路径
path = "Data Source = " + Application.streamingAssetsPath
+ "/SQLDATA/Player.sqlite";
//通过路径创建出链接对象
con = new SqliteConnection (path);
if (con != null) {
print ("数据库不为空");
} else {
print ("数据库为空");
}
//打开数据库
con.Open ();
//创建数据库命令(初始化)
command = con.CreateCommand();
//方法的调用
TestMethod ();
}//end_Start
void TestMethod()
{
#region 第一种执行方法,只能用到增删改
// //注入Sql命令(增)
// command.CommandText = @"insert into PlayerData values(6,'流浪法师',3000,
// 12000,200,0,'流浪帮','false')";
//
// //执行SQL语句,并返回受到影响的总行数,(增,删,改)
// command.ExecuteNonQuery();
// //删除的sql命令
// command.CommandText = @"delete from PlayerData where id = 6";
// int num = command.ExecuteNonQuery ();
// print (num);
// //修改
// command.CommandText = @"Update PlayerData set cd = 4.0 where address = '蜀山'";
// int num = command.ExecuteNonQuery ();
// print (num);
#endregion
#region 第二种执行方法,该方法只用在查询方法只用一个的时候
//注入sql语句
// command.CommandText = @"select hp from PlayerData where name = '寒冰女王'";
// command.CommandText = @"select hp,ap from PlayerData where name = '超级奶爸'";
//若果说查询到的结果又多个的时候只会返回第一行的第一列
command.CommandText = @"select hp from PlayerData where sex = 'true' ";
//执行sql语句,如果说查询结果又多个的时候,只会返回查询到的第一行的第一列
object o = command.ExecuteScalar();
print(o);
#endregion
#region 第三种执行方法,可以用来返回多个信息或者所有的信息
//注入sql语句
// command.CommandText = @"select * from PlayerData";
//
// SqliteDataReader reader = command.ExecuteReader();
// //如果读取了下一行会返回true,如果说没有读取到下一行(说明当前是最后一行),返回false
// while (reader.Read()) {
// //把一行的每一列读取出来
// for (int i = 0; i < reader.FieldCount; i++) {
// //打印列名加数据
// print(reader.GetName(i)+ " " + reader.GetValue(i));
// }
//
// }
command.CommandText = @"select * from PlayerData";
SqliteDataReader reader = command.ExecuteReader();
while (reader.Read()) {
for (int i = 0; i < reader.FieldCount; i++) {
print(reader.GetName(i) + " " + reader.GetValue(i));
}
}
#endregion
}//end_
}