Я только начал использовать С# и не знаю много об этом. Я использую 3D-движок под названием Unity и пытаюсь написать С# script для доступа к базе данных MySQL, которую я запускаю. База данных MySQL находится на другом компьютере. Мой вопрос в том, как я могу получить доступ к базе данных MySQL с помощью С#. Я знаю имя пользователя, пароль и базу данных, которые я хочу использовать, но я не могу понять, как получить доступ к базе данных.
Доступ к базе данных sql с использованием С# по единству?
Ответ 1
Вам нужно будет получить драйвер С# MySQL: http://dev.mysql.com/downloads/connector/net/
И тогда вам нужно будет следовать руководству MySQL для его настройки и использования. Это стандартный драйвер ADO.NET, поэтому вы можете следить за большинством учебных пособий на С# SQL, чтобы получить дополнительную помощь.
Ответ 2
Настройка базы данных (SQLite) для Unity Создать новую папку
-
Создайте новую папку в папке "Активы" Переименуйте ее в плагины.
-
Скопируйте sqlite3.def и sqlite3.dll в Assets/Plugins в проект единства. Вы можете скачать эти файлы здесь http://www.sqlite.org/download.html для окон (предварительно скомпилированные двоичные файлы для Windows)
- Загрузите браузер SQLite http://sourceforge.net/projects/sqlitebrowser/ или http://sqliteadmin.orbmu2k.de/ скачать инструмент администратора SQLite
- Создайте базу данных в папке "Активы" в проекте единства с помощью браузера SQLite.
- Скопируйте System.Data.dll и Mono.Data.Sqlite.dll из ** C:\Program Files (x86)\Unity\Editor\Data\Mono\lib\mono\2.0 * и вставьте их в свои активы /Plugins * в вашем проекте объединения.
- Добавьте эти пространства имен, используя Mono.Data.Sqlite; используя System.Data; использование системы;
- string conn = "URI = file:" + Application.dataPath + "/PickAndPlaceDatabase.s3db";
Заменить PickAndPlaceDatabase.s3db своим именем базы данных
в папке "Активы" Переименуйте плагины.
void Start () {
string conn = "URI=file:" + Application.dataPath + "/PickAndPlaceDatabase.s3db"; //Path to database.
IDbConnection dbconn;
dbconn = (IDbConnection) new SqliteConnection(conn);
dbconn.Open(); //Open connection to the database.
IDbCommand dbcmd = dbconn.CreateCommand();
string sqlQuery = "SELECT value,name, randomSequence " + "FROM PlaceSequence";
dbcmd.CommandText = sqlQuery;
IDataReader reader = dbcmd.ExecuteReader();
while (reader.Read())
{
int value = reader.GetInt32(0);
string name = reader.GetString(1);
int rand = reader.GetInt32(2);
Debug.Log( "value= "+value+" name ="+name+" random ="+ rand);
}
reader.Close();
reader = null;
dbcmd.Dispose();
dbcmd = null;
dbconn.Close();
dbconn = null;
}
это полезная ссылка:
Дальнейшая помощь SQLite: http://www.tutorialspoint.com/sqlite/
http://wiki.unity3d.com/index.php/Webservices_In_Unity то вы должны добавить эту библиотеку в свой код С#:
using AssemblyCSharp.portal.wwwww.com;
теперь вы можете использовать его:
using UnityEngine;
using System.Collections;
using AssemblyCSharp.portal.wwwww.com;
public class Game5_Player : MonoBehaviour
{
public string Logo;
void Start ()
{
crm1 s = new crm1();
Logo= s.getCompanyLogo ();
}
}
Ответ 3
Unity3D использует Stripped Mono.net, который не поддерживает базу данных напрямую. Вы можете написать свою собственную DLL в С#.NET, которая делает доступ к данным для вас. Затем добавьте его в свой проект Unity3D.
Пока вы пишете свою собственную DLL, убедитесь, что, когда вы приносите эту DLL в свой проект, вы также скопируете DLL, на которую ссылаются, в той же папке. Лучший подход - использовать Mono.NET.
Ответ 4
Поздний ответ, но, возможно, это поможет другим.
Я могу получить доступ к базе данных SQL Server на моем не-игровом Unity-приложении. В моем случае мое приложение контролирует, является ли серийный номер пользователя истинным или нет. После того, как пользователи ввели свой серийный ключ, мое приложение начинает сравнивать серийные номера в базе данных sql. Вы можете использовать этот Руководство по рекордам на стороне сервера для своей начальной точки. Я сделал то же самое. Выполните следующие действия, после чего вы сможете получить доступ к своей базе данных sql в Unity.