写个方法,实现Unity中执行MYSQL语句,传入参数是sql语句,返回执行结果
时间: 2024-12-14 13:20:12 浏览: 11
在Unity中执行MySQL语句通常需要借助外部的数据库连接库,例如MySql.Data或Unity的ORM框架(如果存在的话),因为Unity本身并不直接支持SQL操作。以下是一个简单的示例,展示如何使用C#编写一个方法,通过`System.Data.SqlClient`来执行SQL查询,并返回查询结果:
```csharp
using System;
using System.Data.SqlClient;
public class MySQLExecutor
{
private readonly string connectionString; // 替换为你的数据库连接字符串
public MySQLExecutor(string connectionString)
{
this.connectionString = connectionString;
}
public dynamic ExecuteQuery(string sql) // 返回动态类型以便处理不同类型的结果
{
using (SqlConnection connection = new SqlConnection(connectionString))
{
try
{
connection.Open();
SqlCommand command = new SqlCommand(sql, connection);
SqlDataReader reader = command.ExecuteReader();
if (reader.HasRows)
{
var result = new List<dynamic>();
while (reader.Read())
{
var row = new DynamicDictionary(); // 使用动态字典保存每一行的数据
foreach (var column in reader.FieldNames)
{
row[column] = reader[column];
}
result.Add(row);
}
return result;
}
else
{
return null; // 或者根据实际情况返回其他值,如int、string等
}
}
catch (Exception ex)
{
Debug.LogError($"Error executing SQL: {ex.Message}");
return null;
}
}
}
private class DynamicDictionary
{
// 这只是一个简单的字典,实际应用中可能需要更复杂的映射逻辑
public Dictionary<string, object> Values { get; set; } = new Dictionary<string, object>();
}
}
```
阅读全文