c# - 如何检查远程数据库MYSQL是否可用

标签 c# mysql

我需要在 MySQL 远程数据库中注册我的网页 aspx 上的用户访问权限。 但是这个MySQL远程数据库可能不可用。

我已经尝试过这段代码,但是如何执行bool IsServerConnected()方法中的RegisterUSer()方法?

public bool IsServerConnected()
{
    using (var l_oConnection =
        new OdbcConnection(ConfigurationManager.ConnectionStrings["ConnMySQL"].ConnectionString))
    {
        try
        {
            l_oConnection.Open();
            return true;
        }
        catch (OdbcException)
        {
            return false;
        }
    }
}


private void RegisterUSer()
{
    using (OdbcConnection myConnectionString =
      new OdbcConnection(ConfigurationManager.ConnectionStrings["ConnMySQL"].ConnectionString))
    {
        string sql = @String.Format(" INSERT IGNORE INTO tbl_user ");
        sql += String.Format(" ... ");

        using (OdbcCommand command =
                new OdbcCommand(sql, myConnectionString))
        {
            try
            {
                command.Connection.Open();
                command.ExecuteNonQuery();
            }
            catch (Exception ex)
            {
                throw ex;
            }
            finally
            {
                command.Connection.Close();
            }
        }

#编辑01

enter image description here

错误:

The type or namespace name 'resultType' could not be found (are you missing a using directive or an assembly reference?)

最佳答案

您可以只执行一个“包装”方法,该方法首先调用 IsServerConnected() ,然后根据返回的 bool 值调用 RegisterUSer() 或在数据库不可用时抛出错误。

快速而肮脏的伪代码

private resultType ChickenWrapMethod() 
{ 
    if (!IsServerConnected()) 
    { 
        //Throw some error here and exit
    }

    RegisterUSer()
}

顺便说一句...在我看来,您应该考虑从方法中打开 sql 连接,以便两个操作可以共享它

关于c# - 如何检查远程数据库MYSQL是否可用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54627620/

相关文章:

java - Android 创建日历事件总是作为生日

javascript - 无法从 Razor 'IF' 语句调用 Javascript 方法

c# - Haxe 编译器可以将任何 C# 代码转换为 Haxe 吗?

javascript - 使用ajax从mysql数据库获取日期选择数据

mysql - 可能情况下条件组合的 SQL 选择查询

c# - 如何将表作为参数传递给 MySqlCommand?

c# - 使用 C# SDK 投影到另一种类型

c# - 将可枚举复制到列表? "Cannot implicitly convert type ' MyClass.Items' 到 'System.Collections.Generic.List<MyClass.Items>' "

mysql - 使用 OR 条件内连接两个表

mysql - 创建存储过程时 MySQL 中的输入意外结束