簡體   English   中英

無法在 C# 中連接到 mySQL

[英]Can't connect to mySQL in C#

我正在嘗試在我的 c# 應用程序中連接 mySQL 數據庫,但我遇到了一個不起作用的非常短的代碼。

我嘗試了一堆不同的代碼,但都失敗了。 我還嘗試使用遠程 phpmyadmin 數據庫和 localhost 數據庫,它們都不起作用。

我已連接到他們兩個並將他們的登錄名復制粘貼到我的代碼中。 我在我的 phpmyadmin 服務器上禁用了防火牆。 我已經在我的 PC 上打開了我的 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 秒並給了我一條錯誤消息:“找不到服務器或無法訪問服務器”。

你有什么主意嗎? 我的代碼很短,我所做的所有搜索都與我得到的代碼相似。

首先,您需要下載適用於 .NET 的 MySql 數據連接器。 您可以在https://dev.mysql.com/downloads/connector/net/找到它。 接下來,安裝后,需要在項目中添加對MySql庫的引用。 這里怎么做

或者,您可以簡單地使用 NuGet 包管理器來自動下載和安裝連接器。

無論如何,在正確安裝並引用庫之后,您應該在您的 cs 文件中添加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 語句

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM