[英]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.