Unity 基础合集
OK 老规矩,直接上代码:
Myspl 数据库 操作
using MySql.Data.MySqlClient;
using UnityEngine;
/// <summary>
/// Myspl 数据库 操作
/// </summary>
public class UnityMySql : MonoBehaviour
{
private string _Dataname = "unity"; //数据库名称
private string _IpAddress = "127.0.0.1"; //数据库IP
private string _Root = "root"; //用户名
private string _Password = "123456"; //数据库密码
MySqlConnection _MySqlConnection; //要连接的数据库对象
private string _ConnectionStr = ""; //连接的字符串
public string _CmdText1 = "select * from account"; //查询语句
public string _CmdText2 = "Insert into account value('你好','789','男',20,'nihao@163.com');"; //查询语句。添加信息。注意value括号后必须有分号
void Start()
{
_ConnectionStr = string.Format("Server={0};Database={1};User ID={2};Password={3}", _IpAddress, _Dataname, _Root, _Password);
_MySqlConnection = new MySqlConnection(_ConnectionStr); //创建数据库对象
}
void OnGUI()
{
if (GUILayout.Button("openMySql"))//建一个按钮,打开数据库
{
if (_MySqlConnection != null)//如果数据库对象不是空
{
_MySqlConnection.Open();//打开数据库
}
}
if (GUILayout.Button("SelectTable"))//建一个按钮,查询数据库
{
MySqlCommand _Command = new MySqlCommand(_CmdText1, _MySqlConnection);//执行命令MySqlCommand
if (_Command != null)
{
//查询数据库内容,但不影响内容(不修改)
MySqlDataReader reader = _Command.ExecuteReader();
if (reader.HasRows) //是否检测到行(有行存在)
{
while (reader.Read())//读取行内的信息,读取到为true,直到没有行为止
{
string TempStr = "";//用来存内容
TempStr += reader["用户名"];//reader["用户名"]表示查询表格中的用户名一栏
print(TempStr);
}
}
//读取数据库内容,并修改
_Command.ExecuteNonQuery();
//查询数据库内容,但不影响内容(不修改)
_Command.ExecuteReader();
}
}
//建一个按钮,向数据库添加信息
if (GUILayout.Button("InsertText"))
{
//执行_CmdText2的命令
MySqlCommand _Command = new MySqlCommand(_CmdText2, _MySqlConnection);
if (_Command != null)
{
_Command.ExecuteNonQuery();//添加信息
}
}
}
}
PostgreSQL 数据库
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using Npgsql;
using NpgsqlTypes;
using System.Data;
using System;
using System.Configuration;
/// <summary>
/// PostgreSQL 数据库
/// </summary>
// <connectionStrings>
//<add name = "PostgreSQL" connectionString="Server=localhost;Port=5432;UserId=admin;Password=admin;Database=test;Encoding=UNICODE;">
//</connectionStrings>
public class UnityPostgreSQL : MonoBehaviour
{
// public static string connection_pgsql= ConfigurationManager.ConnectionStrings["PostgreSQL"].ToString();
//要访问的数据库IP地址 端口号 数据库名称 数据库登陆名 密码 加上Encoding避免乱码
public static string _Connection_pgsql = "Server=localhost;Port=5432;UserId=admin;Password=123456;Database=123456;Encoding=UNICODE;";
//数据表查询
private string _StrSelect;
//获取DataSet 数据表
public DataSet GetDataSet(string _Sql)
{
try
{
using (NpgsqlConnection _Conn = new NpgsqlConnection(_Connection_pgsql))
{
_Conn.Open();
NpgsqlCommand cmd = new NpgsqlCommand(_Sql, _Conn);
NpgsqlDataAdapter _NpgDa = new NpgsqlDataAdapter(cmd);
DataSet _Ds = new DataSet();
_NpgDa.Fill(_Ds);
return _Ds;
}
}
catch (Exception ex)
{
return new DataSet();
}
}
//数据 增删改
public int ExecuteNonQuery(string _Sql)
{
try
{
using (NpgsqlConnection _Conn = new NpgsqlConnection(_Connection_pgsql))
{
_Conn.Open();
NpgsqlCommand cmd = new NpgsqlCommand(_Sql, _Conn);
int r = cmd.ExecuteNonQuery(); //执行查询并返回受影响的行数
_Conn.Close();
return r;
}
}
catch (Exception ex)
{
return 0;
}
}
//数据表查询
public void InquireSQL()
{
try
{
using (NpgsqlConnection _Conn = new NpgsqlConnection(_Connection_pgsql))
{
_Conn.Open();
//strSelect = "SELECT mc FROM zydd WHERE \"id\"='4028816a57e025bc0157e0c18b8c0027'";//单行查询
_StrSelect = "SELECT mc,dm FROM zyll_local WHERE xxlb='8'"; //多行查询
}
}
catch (Exception ex)
{
print(ex);
}
}
}
暂时先这样吧,如果有时间的话就会更新,如果实在看不明白就留言,看到我会回复的。
路长远兮,与君共勉。