Py学习  »  DATABASE

无法在C中连接到mySQL#

Sch • 6 年前 • 1816 次点击  

我正试图在我的c#应用程序中连接mySQL数据库,但我遇到了一个非常短的代码,无法工作。

我试过很多不同的代码,但都失败了。 我还尝试使用一个远程phpmyadmin数据库和一个本地主机数据库,但都不起作用。

我连接到他们两个,并在我的代码中复制粘贴他们的登录名。 我在phpmyadmin服务器上禁用了防火墙。 我打开了电脑上的3306端口。

using System;
using System.Data.SqlClient;
using System.Windows.Forms;

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

        private void Button1_Click(object sender, EventArgs e)
        {
            string connetionString;
            SqlConnection cnn;
            connetionString = @"Data Source=localhost;Initial Catalog=my_projects;User ID=root;Password=123456";
            cnn = new SqlConnection(connetionString);
            cnn.Open();
            MessageBox.Show("Connection Open  !");
            cnn.Close();
        }
    }
}

它应该弹出一个带有“连接打开!”但它实际加载了30秒,并给我一条错误消息:“找不到服务器或无法访问服务器”。

你知道吗? 我的代码很短,我做的所有搜索都与我得到的代码相似。

Python社区是高质量的Python/Django开发社区
本文地址:http://www.python88.com/topic/50603
文章 [ 1 ]  |  最新文章 6 年前
Steve
Reply   •   1 楼
Steve    6 年前

首先,您需要下载MySql data connector for.NET。你可以在这里找到它 https://dev.mysql.com/downloads/connector/net/ . 接下来,在安装之后,需要向项目中添加对MySql库的引用。见 here how to do it

或者您可以简单地使用NuGet包管理器自动下载和安装连接器。

在任何情况下,在正确安装并引用库之后,您应该将 using MySql.Data.MySqlClient; 现在可以使用连接到MySql并处理其数据所需的类了。

所以你的代码应该是

using MySql.Data.MySqlClient;

... other code ....

private void Button1_Click(object sender, EventArgs e)
{

    try
    {
        string connetionString = @"Server=localhost;Database=my_projects;User ID=root;Password=123456";
        using(MySqlConnection cnn = new MySqlConnection(connetionString))
        {
            cnn.Open();
            MessageBox.Show("Connection Open  !");
        }
    }
    catch(Exception ex)
    {
        MessageBox.Show("Cannot open connection: Reason:" + ex.Message);
    }

}

请记住,到数据库的连接包含非托管资源,您应该始终添加 using statement 围绕着这些东西。