MySQL C#-MySQL.Data.MySqlClient.MySqlException

MySQL C#-MySQL.Data.MySqlClient.MySqlException,c#,mysql,visual-studio,C#,Mysql,Visual Studio,我刚刚学习了一个教程,现在遇到了“MySql.Data.MySqlClient.MySqlException”异常和“无法连接到任何指定的MySql主机” 是什么导致了这些?证件都没问题 using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; using System.Drawing; using System.Linq; using System.Text;

我刚刚学习了一个教程,现在遇到了“MySql.Data.MySqlClient.MySqlException”异常和“无法连接到任何指定的MySql主机”

是什么导致了这些?证件都没问题

using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;

using MySql.Data.MySqlClient;

namespace WindowsFormsApplication4
{
public partial class Form1 : Form
{
    MySqlConnection con = new MySqlConnection(@"Data Source=appm52;port=3306;Initial Catalog=test;User Id=skaratekedb;password=***");
    int i;

    public Form1()
    {
        InitializeComponent();
    }

    private void button1_Click(object sender, EventArgs e)
    {
        i = 0;
        con.Open();
        MySqlCommand cmd = con.CreateCommand();
        cmd.CommandType = CommandType.Text;
        cmd.CommandText = "select * from login where username = '" + textBox1.Text + "' and password= '" + textBox2.Text + "'";
        cmd.ExecuteNonQuery();
        DataTable dt = new DataTable();
        MySqlDataAdapter da = new MySqlDataAdapter(cmd);
        da.Fill(dt);
        i = Convert.ToInt32(dt.Rows.Count.ToString());

        if (i == 0)
        {
            label3.Text = "you have entered invalid username pr password";
        }
        else
        {
            this.Hide();
            Form2 fm = new Form2();
            fm.Show();

        }
        con.Close();
    }
}
}

数据源=appm52:3306;初始目录=测试;用户Id=skaratekedb;密码=***仍然没有帮助:Ein Ausnahmefehler des Typs“MySql.Data.MySqlClient.MySqlException”位于MySql.Data.dll aufgetreten中。Zusätzliche Informationen:无法连接到任何指定的MySQL主机。教程告诉您在查询中连接字符串?这是高度不安全的,并且极易受到注入攻击。至于您的错误,问题是您的连接字符串没有指向您的服务(或者服务器没有运行)。检查所有内容是否都在运行,以及您的字符串是否与我假设的系统上的本地数据库相符。mysql连接的典型语法是
Server=myServerAddress;端口=1234;数据库=myDataBase;Uid=我的用户名;Pwd=我的密码您的连接字符串看起来像MS SQL Server样式的字符串,而不是MySQL。先试试Takarii的建议。无论你使用什么教程,建议以这种方式构建查询,都需要从互联网上删除,这是在推广不安全的编码实践,最终会让你的数据库遭到黑客攻击。您需要使用参数化查询来更好地防止SQL注入攻击。您可以通过官方网站和许多其他示例找到关于.NET/MySQL组合的指南。