c# - 无法连接到指定的MySQL主机?

标签 c# mysql

我正在摆弄来自 Magic Vision ( https://github.com/petesimard/Magic-Vision ) 的 C# 代码。 当我使用 Visual C# 2010 Express 对其进行调试时,我在 sql.Open() 语句上收到错误,内容为

“MySQL 异常未处理:无法连接到任何指定的 MySQL 主机。”

如何解决此错误?

using System;
using System.Data;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using MySql.Data.MySqlClient;


namespace PoolVision
{
public class MySqlClient
{
    private MySqlConnection sql;

    public DataRow dbRow(String query)
    {
        MySqlCommand command = sql.CreateCommand();
        command.CommandText = query;

        DataTable selectDT = new DataTable();
        MySqlDataAdapter dataAd = new MySqlDataAdapter(command);

        dataAd.Fill(selectDT);

        if (selectDT.Rows.Count > 0)
            return selectDT.Rows[0];
        else
            return null;
    }

    public int lastInsertId()
    {
        DataRow r = dbRow("SELECT last_insert_id() as lid");

        Int64 id = (Int64)r[0];

        return (int)id;
    }

    public int affectedRows()
    {
        DataRow r = dbRow("SELECT ROW_COUNT()");
        int id = (int)r[0];

        return id;
    }

    public DataTable dbResult(String query)
    {
        MySqlCommand command = sql.CreateCommand();
        command.CommandText = query;

        DataTable selectDT = new DataTable();
        MySqlDataAdapter dataAd = new MySqlDataAdapter(command);

        dataAd.Fill(selectDT);

        return selectDT;

    }

    internal int dbNone(string query)
    {
        MySqlCommand command = sql.CreateCommand();
        //MySqlDataReader Reader;
        command.CommandText = query;
        return command.ExecuteNonQuery();
    }

    public MySqlClient(String SqlConString)
    {
        sql = new MySqlConnection(SqlConString);
        sql.Open();
    }

    public DateTime ConvertFromUnixTimestamp(double timestamp)
    {
        DateTime origin = new DateTime(1970, 1, 1, 0, 0, 0, 0);
        return origin.AddSeconds(timestamp);
    }

    public double ConvertToUnixTimestamp(DateTime date)
    {
        DateTime origin = new DateTime(1970, 1, 1, 0, 0, 0, 0);
        TimeSpan diff = date - origin;
        return Math.Floor(diff.TotalSeconds);
    }
}
}

最佳答案

检查您的连接字符串并确保它对于您尝试连接的服务器和数据库有效。

关于c# - 无法连接到指定的MySQL主机?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17352498/

相关文章:

c# - HtmlWeb 用户代理

c# - 如何以编程方式更新 log4net 配置文件?

c# - Blazor 应用程序/Razor 中的 IConfiguration 始终为 NULL .NET CORE

c# - 错误消息 "A potentially dangerous Request.Form value"

mysql - 最近 24 小时的日期字段和 ORDER BY 其他表

php - 在 HTML5 中提交输出计算值

php - 行未被删除

c# - 如何使生成的 EXE 适用于所有 .NET Framework 版本?

PHP - 如何停止我的循环以注册数据两次?

php - 取不同值Mysql与PHP相乘