那三个函数里面的东西是这样
public static MySqlConnection getMySqlCon()
        {
            String mysqlStr = "Database=challenge;Data Source=127.0.0.1;User Id=root;Password=;pooling=false;CharSet=utf8;port=3306";
            MySqlConnection mysql = new MySqlConnection(mysqlStr);
            return mysql;
        }        public static MySqlCommand getSqlCommand(String sql, MySqlConnection mysql)
        {
            MySqlCommand mySqlCommand = new MySqlCommand(sql, mysql);
            return mySqlCommand;
        }
        public static void fetchAll(MySqlCommand mySqlCommand)
        {
            MySqlDataReader reader = mySqlCommand.ExecuteReader();
            try
            {
                while (reader.Read())
                {
                    if (reader.HasRows)
                    {
                        MessageBox.Show("编号:" + reader.GetInt32(0) + "|类型:" + reader.GetInt32(1) + "|名字:" + reader.GetString(2));
                    }
                }
            }
            catch (Exception)
            {                MessageBox.Show("查询失败了!");
            }
            finally
            {
                reader.Close();
            }
        }

解决方案 »

  1.   

    如果保持一个长连接,可以不用频繁open,close,打开一次,然后各个地方可以引用
      

  2.   

    如果用语句的话只能是开数据库、读数据、关数据库。你也可以返回DataSet的数据集。你也可以使用EF。总的来说,.net对mysql原装支持的还是比较差的,基本上还是要用插件的。
      

  3.   

    你的是wp8程序吧
    如果是手机客户端 应该是一个UI 然后一个后台的
    这种请求模式 应该是 请求一次创建一次的
    如果是数据库在本地 或者在局域网内 可以使用你的始终保持一个连接
    但是数据库连接出错是很正常的 如果你的每一个操作都用一个连接 如果出错了 不重启程序 怕是不行的
      

  4.   

    感谢版主和楼上朋友的回答,大致有一点那么的感觉再问一句啊,关于数据绑定这块。在界面中(包括桌面和web),能否直接用代码直接的输出从数据库查询的数据?我在vs上,发现ide上自带的数据绑定,方便是方便,可是觉得麻烦,不够自定义化,还必须把ide连接上数据库。我在想,假如我没有用vs编辑器,该如何在桌面的应用程序上输出内容呢?直接在遍历查询出来的结果中,边循环边输出,而不是 MessageBox.Show 弹出