0

我有一个连接到 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();
    }

编辑:很难相信,但有时它会起作用,我真的不知道为什么,尤其是因为我什么都没改变。奇怪的...

4

1 回答 1

0

好吧,这段代码太晚了,不是吗?对象连接为空,因此您需要查看它的创建位置。

于 2012-10-19T16:56:03.573 回答