加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

Unity 3d SQLite Database connection

发布时间:2020-12-12 20:29:39 所属栏目:百科 来源:网络整理
导读:Unity 3d SQLite Database connection C SharpScript file to use wtih unity 3D. This one works with unity pro = version 2.6 only free versions you can test but cannot build. And for Unity 3D 3 and above they don't support building for webplay

Unity 3d SQLite Database connection

C SharpScript file to use wtih unity 3D. This one works with unity pro <= version 2.6 only free versions you can test but cannot build. And for Unity 3D 3 and above they don't support building for webplayer,standalone builds only work and you have to set standard .net 2.0 frameworkon build settings

dbAccess.cs


using UnityEngine;
using System;
usingSystem.Collections;
usingSystem.Data;
using Mono.Data.SqliteClient;

public classdbAccess : MonoBehaviour {
private string connection;
private IDbConnection dbcon;
private IDbCommand dbcmd;
private IDataReader reader;

// Use this for initialization
void Start () {

}

public void OpenDB(string p)
{
connection = "URI=file:" + p; // we set the connection to our database
dbcon = new SqliteConnection(connection);
dbcon.Open();
}

public void CloseDB(){
reader.Close(); // cleaneverything up
reader = null;
dbcmd.Dispose();
dbcmd = null;
dbcon.Close();
dbcon = null;
}

IDataReader BasicQuery(string query){ // run a baic Sqlite query
dbcmd = dbcon.CreateCommand(); // create empty command
dbcmd.CommandText = query; // fill the command
reader = dbcmd.ExecuteReader(); // execute command which returns a reader
returnreader; //returnthe reader

}


int CreateTable(string name,string[] col,string[] colType){ // Create a table,name,column array,column typearray
string query;
query = "CREATE TABLE " + name + "(" + col[0] + " " + colType[0];
for(var i=1; i<col.length; i++){<="" p="">
query += "," + col[i] + " " + colType[i];
}
query += ")";
try{
dbcmd = dbcon.CreateCommand(); // create empty command
dbcmd.CommandText = query; // fill the command
reader = dbcmd.ExecuteReader(); // execute command which returns a reader
}
catch( Exceptione){

Debug.Log(e);
return0;
}
return1;
}

int InsertIntoSingle(string tableName,string colName,string value ){ // singleinsert
string query;
query = "INSERT INTO " + tableName + "(" + colName + ") " + "VALUES (" + value + ")";
try
{
dbcmd = dbcon.CreateCommand(); // create empty command
dbcmd.CommandText = query; // fill the command
reader = dbcmd.ExecuteReader(); // execute command which returns a reader
}
catch(Exception e){

Debug.Log(e);
return0;
}
return1;
}

int InsertIntoSpecific(string tableName,string[] values){ // Specific insert with col and values
string query;
query = "INSERT INTO " + tableName + "(" + col[0];
for(int i=1; i<col.length; i++){<="" p="">
query += "," + col[i];
}
query += ") VALUES (" + values[0];
for(int i=1; i<values.length; i++){<="" p="">
query += "," + values[i];
}
query += ")";
try
{
dbcmd = dbcon.CreateCommand();
dbcmd.CommandText = query;
reader = dbcmd.ExecuteReader();
}
catch(Exception e){

Debug.Log(e);
return0;
}
return1;
}

int InsertInto(string tableName,string[] values ){ // basic Insert with just values
string query;
query = "INSERT INTO " + tableName + " VALUES (" + values[0];
for(int i=1; i<values.length; i++){<="" p="">
query += "," + values[i];
}
query += ")";
try
{
dbcmd = dbcon.CreateCommand();
dbcmd.CommandText = query;
reader = dbcmd.ExecuteReader();
}
catch(Exception e){

Debug.Log(e);
return0;
}
return1;
}

public string[] SingleSelectWhere(string tableName,string itemToSelect,string wCol,string wPar,string wValue){ // Selects asingleItem
string query;
query = "SELECT " + itemToSelect + " FROM " + tableName + " WHERE " + wCol + wPar + wValue;
dbcmd = dbcon.CreateCommand();
dbcmd.CommandText = query;
reader = dbcmd.ExecuteReader();
string[] readArray = new string[reader.RecordsAffected];
int i=0;
while(reader.Read()){
readArray[i]=reader.GetString(0); // Fillarraywith all matches
i++;
}
returnreadArray; //returnmatches
}





// Update is called once per frame
void Update () {

}
}

The following few dlls have to be added inside Assets/ Pluginsfolder
Mono.Data.Sqlite. dll Mono.Data.SqliteClient.dll MySql.Data.dll sqlite3.dll System.Data.dll

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读