【问题标题】:Failure connecting MySQL server with C# ( Visual Studio )使用 C# (Visual Studio) 连接 MySQL 服务器失败
【发布时间】:2016-04-25 18:23:53
【问题描述】:

为了让事情简洁明了:

我正在尝试将我的 Windows 窗体应用程序连接到 mySQL 服务器。 我已按照网络上的所有说明进行操作,但没有成功。

我已按照本文中的所有步骤操作,但没有成功: http://net-informations.com/q/faq/mysql.html

无论我尝试什么,它都无法连接。

我已经安装了: - mysql 连接器

我还在顶部添加了 mysql.data 引用。

奇怪的是,连接到本地 sql server 不是问题。 它将连接而不会出现任何故障。

这是我正在运行的代码(本地 SQL):

using System;
using System.Windows.Forms;
using MySql.Data.MySqlClient;

namespace csharp_mysql
{
    public partial class Form1 : Form
    {
        public Form1()
        {
            InitializeComponent();
        }

        private void button1_Click(object sender, EventArgs e)
        {

            try {    
            
              
                MySqlConnection myConn = new MySqlConnection("Server=localhost;Database=users;Uid=root;Pwd=plopPlop1234;");
                myConn.Open();
                MySqlDataAdapter myDataAdapter = new MySqlDataAdapter();
                MySqlCommand selectCommand = new MySqlCommand("select * from users.users where username='" +textBox1.Text+ "' and password='" +textBox2.Text+ "'", myConn);
                MySqlDataReader myReader;
                myReader = selectCommand.ExecuteReader();
                MySqlCommandBuilder cb = new MySqlCommandBuilder(myDataAdapter);
                int count = 0;


                while (myReader.Read())
                {
                    count += 1;
                }



                if (count == 1)
                {
                    MessageBox.Show("Login successful");
                    
                    Form2 f2 = new Form2();
                    f2.Show();
               
                this.Hide();
                }


                else if(count > 0)
                {
                    MessageBox.Show("duplicate username and password");
                }

                else
                {
                    MessageBox.Show("username or password not found");
                }

                textBox1.Clear();
                textBox2.Clear();
            }

            catch(Exception ex)
            {
                MessageBox.Show("There is no connection to be made);
            }

        }

一旦我将凭据更改为另一个真正的 mysql 服务器(我自己的主机),它将停止连接。

这里有什么问题,我在这里缺少什么?

【问题讨论】:

  • 失败的连接字符串是什么样的? (当然会隐藏用户名/密码)。
  • 如果我使用相同的代码设置将凭据更改为我自己的 mysql 服务器的凭据,我会收到以下消息框:“没有要建立的连接”,也就是我的异常消息。 PS:我已经仔细检查了我的凭据并在另一个 PHP 项目上对其进行了测试,它连接没有问题。
  • localhost 对你真正的 MySql 服务器还有意义吗?
  • @Azzazzell:“没有要建立的连接”是您自己的自定义错误消息,它没有提供太多信息。异常中的实际错误消息是什么?
  • 我的错...实际的错误是:“无法连接到任何指定的 MySQL 主机。”}.

标签: c# mysql sql visual-studio windows-forms-designer


【解决方案1】:

如果您的错误是“无法连接到任何指定的 MySQL 主机。”,请检查您的主机是否允许远程连接。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2017-09-10
    • 2021-09-20
    • 1970-01-01
    • 2014-09-29
    • 1970-01-01
    • 2020-10-14
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多