導航:首頁 > 數據分析 > unity用什麼資料庫

unity用什麼資料庫

發布時間:2022-12-14 19:04:07

A. unity3d怎麼連接sql server資料庫

1、找到System.Data.dll文件,默認的地址是在C:\Program Files\Unity\Editor\Data\Mono\lib\mono\unity,這個根據你所安裝的路徑有關。
2、將該文件復制到你的工作空間下的Asset文件夾內
3、在你的編輯器中添加引用,我用的是VS
4、在命名空間內增加程序
using System;
using System.Data;
using System.Data.SqlClient;
5、編寫連接資料庫代碼
SqlConnection con = null;
SqlDataAdapter sda = null;
void Start()
{
string s = @"server=.;database=ConnectTest;uid=sa;pwd=123456"; //注意,這里必須使用SQL Server和Windows驗證模式,否則會報錯
con = new SqlConnection(s);
con.Open();
string sql = "select * from table1";
sda = new SqlDataAdapter(sql, con);
DataSet ds = new DataSet();
sda.Fill(ds, "table1");
print(ds.Tables[0].Rows[0][0]);
}

6、實驗結果

B. Unity的本地資料庫和伺服器資料庫分別用什麼好

sqlite也可以支持來服自務器存儲的;

支持跨平台,像很對安卓的應用可以找到它的影子;
sqlite是一個單文件的資料庫文件系統,屬輕型資料庫,理論支持百萬級數據量;性能方面不能但看資料庫本身,還要看你的設計,設計的不好10萬級有點懸;
另外,網路多應用共享時,容易造成死鎖;
個人建議啊,要是做網路游戲,不太建議用sqlite做伺服器資料庫,到是可以做客戶端內嵌的小型資料庫。

C. Unity3D與Sqlite資料庫是怎麼直連 成的求大夥為我解答啊

現在我們來研究一下Unity3D如何與Sqlite資料庫進行直連的問題

1、環境介紹:

Windows7,Unity3D,SQLite Expert Personal 3

2、開發語言:

JavaScript

3、需要的dll文件:

Mono.Data.Sqlite.dll和sqlite3.dll,稍後我會將所有文件打包在一起供大家討論下,先看下這些dll文件應該被放在哪裡,

要改動的地方我已經用紅色標記出來了,注意這個要改成.NET2.0,這樣才能夠發布的。系統默認的不是.NET2.0,大家這一點要注意!!!Modified 2011 by Alan Chatham */

//#pragma strict

/*代碼描述

*本代碼是為了在Windows環境下運行unity3d和Sqlite資料庫而寫的;實現的基本功能是unity3d能夠與資料庫之間進行基本的通信,比如說

在資料庫中的數據被改變了以後,unity3d中得到的數據也會在刷新了之後跟著改變;這只是一個基本的核心的技術,為的是能夠應用在大型的unity3d

項目中,能夠存儲場景中的項目的屬性,在需要改變對象的屬性或增加、減少等對象時能夠很方便的用得上。

要實現本代碼。首先需要一些dll文件,一個是Mono.Data.SQLiteClient.dll,另外一個是sqlite3.dll,這些文件都能夠在unity3d的安裝目錄中找得到。

除此之外,還需要把這兩個文件放在你的項目的這個路徑下面:AssetsPlugins,沒有Plugins文件夾就必須創建這個文件夾,然後將這兩個dll文件放在該文件夾寫。

當然,如果你想能夠在PC上面發布成可執行文件,還需要改動一些地方。在unity3d中的Play Setting ->Other Setting 中將Api Compatibility的等級改為

.NET 2.0;那麼這些操作做完了以後,如果你的代碼寫得沒有問題,那麼你就可以成功了。

好了,下面咱們來詳細解釋下代碼吧。

*

*/

import System.Data;// we import ourdata class 我們先導入我們的數據集

import Mono.Data.Sqlite; // we import sqlite 我們導入sqlite數據集,也就是Plugins文件夾下的那個dll文件


class dbAccess {

// variables for basic query access

private var connection : String; //資料庫的連接字元串,用於建立與特定數據源的連接

private var dbcon : IDbConnection; //IDbConnection的連接對象,其實就是一個類對象

private var dbcmd : IDbCommand; //IDbCommand類對象,用來實現操作資料庫的命令:註解:我在網上資料看到的如何實現對資料庫執行命令:

//首先創建一個IDbConnection連接對象,然後將一條資料庫命令賦值給一個字元串,利用這個字元串和連接對象

//就可以創建(new)一個IDbCommand對象了,然後使用提供的方法就可以執行這個命令了。

private var reader : IDataReader; //reader的作用就是讀取結果集的一個或多個只進結果流


function OpenDB(p : String){

connection = "URI=file:" + p; // we set the connection to our database

dbcon = new SqliteConnection(connection);

dbcon.Open(); //打開資料庫連接操作

}


function BasicQuery(q : String, r : boolean){ // run a c Sqlite query

dbcmd = dbcon.CreateCommand(); // create empty command

dbcmd.CommandText = q; // fill the command

reader = dbcmd.ExecuteReader(); // execute command which returns a reader返回IDataReader的對象,創建IDataReader的對象

if(r){ // if we want to return the reader

return reader; // return the reader 返回讀取的對象,就是讀到了什麼東西

}

}


// This returns a 2 dimensional ArrayList with all the

//data from the table requested

function ReadFullTable(tableName : String){

var query : String;

query = "SELECT * FROM " + tableName;

dbcmd = dbcon.CreateCommand();

dbcmd.CommandText = query;

reader = dbcmd.ExecuteReader();

var readArray = new ArrayList();

while(reader.Read()){

var lineArray = new ArrayList();

for (var i = 0; i < reader.FieldCount; i++)

lineArray.Add(reader.GetValue(i)); // This reads the entries in a row

readArray.Add(lineArray); // This makes an array of all the rows

}

return readArray; // return matches

}


// This function deletes all the data in the given table.Forever.WATCH OUT! Use sparingly, if at all

function DeleteTableContents(tableName : String){

var query : String;

query = "DELETE FROM " + tableName;

dbcmd = dbcon.CreateCommand();

dbcmd.CommandText = query;

reader = dbcmd.ExecuteReader();

}


function CreateTable(name : String, col : Array, colType : Array){ // Create a table, name, column array, column type array

var query : String;

query= "CREATE TABLE " + name + "(" + col[0] + " " + colType[0];

for(var i=1; i<col.length; i++){

query += ", " + col + " " + colType;

}

query += ")";

dbcmd = dbcon.CreateCommand(); // create empty command

dbcmd.CommandText = query; // fill the command

reader = dbcmd.ExecuteReader(); // execute command which returns a reader

}

function InsertIntoSingle(tableName : String, colName : String, value : String){ // single insert

var query : String;

query = "INSERT INTO " + tableName + "(" + colName + ") " + "VALUES (" + value + ")";

dbcmd = dbcon.CreateCommand(); // create empty command

dbcmd.CommandText = query; // fill the command

reader = dbcmd.ExecuteReader(); // execute command which returns a reader

}

function InsertIntoSpecific(tableName : String, col : Array, values : Array){ // Specific insert with col and values

var query : String;

query = "INSERT INTO " + tableName + "(" + col[0];

for(var i=1; i<col.length; i++){

query += ", " + col;

}

query += ") VALUES (" + values[0];

for(i=1; i<values.length; i++){

query += ", " + values;

}

query += ")";

dbcmd = dbcon.CreateCommand();

dbcmd.CommandText = query;

reader = dbcmd.ExecuteReader();

}


function InsertInto(tableName : String, values : Array){ // basic Insert with just values

var query : String;

query = "INSERT INTO " + tableName + " VALUES (" + values[0];

for(var i=1; i<values.length; i++){

query += ", " + values;

}

query += ")";

dbcmd = dbcon.CreateCommand();

dbcmd.CommandText = query;

reader = dbcmd.ExecuteReader();

}


// This function reads a single column

//wCol is the WHERE column, wPar is the operator you want to use to compare with,

//and wValue is the value you want to compare against.

//Ex. - SingleSelectWhere("puppies", "breed", "earType", "=", "floppy")

//returns an array of matches from the command: SELECT breed FROM puppies WHERE earType = floppy;

function SingleSelectWhere(tableName : String, itemToSelect : String, wCol : String, wPar : String, wValue : String){ // Selects a single Item

var query : String;

query = "SELECT " + itemToSelect + " FROM " + tableName + " WHERE " + wCol + wPar + wValue;

dbcmd = dbcon.CreateCommand();

dbcmd.CommandText = query;

reader = dbcmd.ExecuteReader();

var readArray = new Array();

while(reader.Read()){

readArray.Push(reader.GetString(0)); // Fill array with all matches

}

return readArray; // return matches

}



function CloseDB(){

reader.Close(); // clean everything up

reader = null;

dbcmd.Dispose();

dbcmd = null;

dbcon.Close();

dbcon = null;

}


}

復制代碼


如果你還有什麼不懂的,可以網路搜下:編程回憶錄,他們現在正在錄制這方面的教程,都是零基礎開始,由淺入深。

D. unity開發網游用什麼資料庫

如果做MMO網游,Unity一般是用來做游戲的客戶端的,游戲客戶端一般不要求巨量數據查詢,所以可能用專sqlite或者屬xml或者json這些方式存儲數據。
而MMO的伺服器端邏輯使用伺服器或Web後端開發技術,如Python-WSGI、PHP、J2EE或用C++做獨立的服務進程,會有巨量數據查詢,縮減成本可用MySQL,也可用商用的DB2和Oracle。

E. unity3d的資料庫是什麼資料庫

Unity3d連接SQL Server資料庫:
首先需要把Unity安裝路徑下的System.Data.dll和Mono.Data.SqliteClient.dll拷貝到當前unity工程的Assets文件夾下,因為之後在腳本中引用的.dll並不是framework提供的。腳本的內容:
using UnityEngine;
using System;
using System.Collections;
using System.Data;(這個必須是引用自unity的安裝目錄下,如果找不到就搜索一下)
using System.Data.SqlClient;
public class ConnectSQL : MonoBehaviour
{
// Use this for initialization
void Start()
{
string connectionString = "Data Source=XYL-PC;DataBase=Unity;uid=sa;pwd=123456;";
SqlConnection con = new SqlConnection();
con.ConnectionString = connectionString;
con.Open();
if (con.State == ConnectionState.Open)
{
print("Connect success!");
}
else
{
print("Connect Failure!");
}
}
}

F. Unity3D怎樣讀取Access資料庫

Unity3D怎樣讀取Access資料庫?

在U3D中要訪問Access資料庫,我們需要用到兩個dll,System.Data.dll和System.EnterpriseServices.dll,缺一不可。我們找到這兩個dll放到的Plugins文件夾下面。
下面我們創建一個Access資料庫版本是07樣式是*.accdb(03版本的Access資料庫的樣式為*.mdb)在我們進行code的時候,要根據不同的版本進行判斷啦,對於不同的Access資料庫版本,我們要對應不懂的文件後綴名。要不然會提示你資料庫文件是未知文件。
下面是讀取Access的一個demo,其他的修改,添加數據都是在修改他的sql語句啦。簡單的代碼如下:
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);
}
}

閱讀全文

與unity用什麼資料庫相關的資料

熱點內容
iphone4開機提示連接itunes 瀏覽:359
蘋果的風扇app怎麼下載 瀏覽:161
仙劍歷代發行版本 瀏覽:266
cmp文件夾 瀏覽:473
公眾號小程序源代碼 瀏覽:178
眾心彩票是個什麼APP 瀏覽:815
電腦如何連接藍牙網路 瀏覽:793
篩選後如何計算復雜數據 瀏覽:287
如何把不同品牌的手機數據導出 瀏覽:393
日歷資料庫表的設計 瀏覽:761
代碼如何快速做金字塔數據 瀏覽:775
文件異地同步軟體 瀏覽:383
微信網頁版自動登錄 瀏覽:370
excel如何分開男女數據 瀏覽:883
帝豪gl怎麼打開u盤文件夾在哪裡 瀏覽:477
蘋果皮能用流量嗎 瀏覽:548
電腦寬頻連接共享wifi密碼 瀏覽:655
最新微粒貸app官方下載 瀏覽:923
win10電腦怎麼休眠不斷網 瀏覽:530
如何查到網站的伺服器 瀏覽:225

友情鏈接