我有一个连接到 MySQL 数据库的小项目。在 Windows 7 中,它就像一个魅力,但是当我在 Mono 中做完全相同的事情(使用 monodevelop 和本地测试 mysql 服务器)时,我得到一个NullReferenceException
. 我查看了连接器手册和已知错误,但我没有任何线索。
也许有人知道为什么会发生这种情况:
单击此处查看大图
(monodevelop 的屏幕截图,带有错误详细信息)
private static IDbConnection connection;
private static IDbCommand command;
private static IDataReader reader;
public static void Init()
{
try
{
string myConnectionString = "SERVER=127.0.0.1;PORT=3306;" +
"Database=game;" +
"UID=root;" +
"PASSWORD=root; Pooling=false";
connection = new MySqlConnection(myConnectionString);
connection.ConnectionString = myConnectionString;
}
catch (Exception e)
{
Console.WriteLine("Error at creating connection: " +e.Message);
}
}
public static void LoadMaps()
{
connection.Open();
command = connection.CreateCommand();
command.CommandText = "SELECT * FROM maps";
reader = command.ExecuteReader();
while (reader.Read())
{
int ID = reader.GetInt32(0);
string Name = reader.GetString(1);
int width = reader.GetInt32(2);
int height = reader.GetInt32(3);
Console.WriteLine(ID + " " + Name);
}
reader.Close();
reader = null;
command.Dispose();
command = null;
connection.Close();
}
编辑:很难相信,但有时它会起作用,我真的不知道为什么,尤其是因为我什么都没改变。奇怪的...