IT_bigstone 2015-03-28 07:05 采纳率: 50%
浏览 3333

关于连接服务器端MySql数据库,却不能成功打开

namespace Lode
{
class Program
{
static void Main(string[] args)
{
string load, password;
load = Console.ReadLine();
password = Console.ReadLine();
if (Search(load,password))
{
Console.WriteLine("登入成功");
}
else
Console.WriteLine("登入失败");
}

    /// <summary>
    /// 建立执行命令语句对象
    /// </summary>
    /// <param name="sql"></param>
    /// <param name="mysql"></param>
    /// <returns></returns>
    public static MySqlCommand getSqlCommand(String sql, MySqlConnection mysql)
    {
        MySqlCommand mySqlCommand = new MySqlCommand(sql, mysql);
        //  MySqlCommand mySqlCommand = new MySqlCommand(sql);
        // mySqlCommand.Connection = mysql;
        return mySqlCommand;
    }
    /// <summary>
    /// 查询并获得结果集并遍历
    /// </summary>
    /// <param name="mySqlCommand"></param>
    public static bool Search(string load,string password )
    {
        /*
        //连接数据库
        //server=这里写服务器的IP地址;uid=数据登录名;pwd=密码;database=数据库
        String mysqlStr = @"Database=bbs;Data Source=59.74.169.59;User Id=bbs;Password=kjcxlab.com!@!@;pooling=false;CharSet=utf8;port=8080";
        // String mySqlCon = ConfigurationManager.ConnectionStrings["MySqlCon"].ConnectionString;
         */
        MySqlConnection mysql = getMySqlcon();
        int i = 0;
        Console.WriteLine("46");
        try
        {
            Console.WriteLine("56");
            if (mysql.State == ConnectionState.Open)         //检查连接状态
            {
                mysql.Close();
            }
            Console.WriteLine("63");
            mysql.Open(); //打开数据库连接 
            string sqlSearch;
            Console.WriteLine("64");
            if (IsEmail(load))
            {
                sqlSearch = @"select * from bbs_common_member where email='" + load + "' AND password=MD5('" + password + "')";
            }
            else
            {
                sqlSearch = @"select * from data where username='" + load + "' AND password=MD5('" + password + "')";

            }

            MySqlCommand mySqlCommand = getSqlCommand(sqlSearch, mysql);
            i = Convert.ToInt32(mySqlCommand.ExecuteScalar());
        }
        catch (MySqlException oe)
        {
            Console.WriteLine(oe.Message);
        }
        finally
        {  
            if (mysql.State == ConnectionState.Open)
                mysql.Close();
        }
        if (i != 1)
        { return false; }
        else
            return true;

    }
    /// <summary>
    /// 建立mysql数据库链接
    /// </summary>
    /// <returns></returns>
    private static MySqlConnection getMySqlcon()
    {
        //server=这里写服务器的IP地址;uid=数据登录名;pwd=密码;database=数据库
        String mysqlStr = @"Database=bbs;Data Source=59.74.169.59;User Id=bbs;Password=kjcxlab.com!@!@;pooling=false;CharSet=utf8;Port=8080";
       //String mySqlCon = ConfigurationManager.ConnectionStrings["MySqlCon"].ConnectionString;
       MySqlConnection mysql = new MySqlConnection(mysqlStr);
            return mysql;
    }
    public static bool IsEmail(string str)
    {
        string res = string.Empty;
        string expression = @"^([\w-\.]+)@((\[[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.)|(([\w-]+\.)+))([a-zA-Z]{2,4}|[0-9]{1,3})(\]?)$";
        bool boo = new Regex(expression).Match(str).Success;
        return boo;
    }
}

}


  • 写回答

2条回答

  • oyljerry 2015-03-28 07:23
    关注

    查看连接返回的错误信息。是不是数据库服务没启动,或者防火墙拦截了端口。

    评论

报告相同问题?

悬赏问题

  • ¥15 #MATLAB仿真#车辆换道路径规划
  • ¥15 java 操作 elasticsearch 8.1 实现 索引的重建
  • ¥15 数据可视化Python
  • ¥15 要给毕业设计添加扫码登录的功能!!有偿
  • ¥15 kafka 分区副本增加会导致消息丢失或者不可用吗?
  • ¥15 微信公众号自制会员卡没有收款渠道啊
  • ¥100 Jenkins自动化部署—悬赏100元
  • ¥15 关于#python#的问题:求帮写python代码
  • ¥20 MATLAB画图图形出现上下震荡的线条
  • ¥15 关于#windows#的问题:怎么用WIN 11系统的电脑 克隆WIN NT3.51-4.0系统的硬盘