gpt4 book ai didi

c# - Visual Studio 认为我想连接到 SQL Server 而不是 MySQL?

转载 作者:行者123 更新时间:2023-11-30 21:30:12 25 4
gpt4 key购买 nike

我正在尝试在 Visual Studio 2017 中连接到 MySQL 数据库。到目前为止,使用向导和数据集进行连接工作得非常好,但尝试仅使用代码进行连接会产生此错误:

Error 40: Could not open a connection to SQL Server

用谷歌搜索这个错误,不出所料,会带来针对使用 SQL Server 的人的结果,而我不是。我在这里错过了什么?我知道我的数据库已启动并正在运行,因为我程序的所有其他功能仍然有效。

using (SqlConnection conn = new SqlConnection(ConfigurationManager.ConnectionStrings["GenericDB.Properties.Settings.GenericDBConnectionString"].ToString()))
{
try
{
string query = "SELECT name, siteID FROM site";
SqlDataAdapter da = new SqlDataAdapter(query, conn);
conn.Open();
DataSet ds = new DataSet();
da.Fill(ds, "site");
cmbOrderReceiving.DisplayMember = "name";
cmbOrderReceiving.ValueMember = "siteID";
cmbOrderReceiving.DataSource = ds.Tables["site"];
}

最佳答案

您正在使用 Sql Client 库中的类,这些类仅适用于 Sql Server。安装 MySql 连接器后,您应该将正确的 using 指令添加到您的代码文件中

using MySql.Data.MySqlClient;

然后将对 SqlXXXX 类的所有引用更改为 MySqlXXXX 类

using (MySqlConnection conn = new MySqlConnection(.....))
{
try
{
string query = "SELECT name, siteID FROM site";
MySqlDataAdapter da = new MySqlDataAdapter(query, conn);
conn.Open();
DataSet ds = new DataSet();
da.Fill(ds, "site");
cmbOrderReceiving.DisplayMember = "name";
cmbOrderReceiving.ValueMember = "siteID";
cmbOrderReceiving.DataSource = ds.Tables["site"];
}
}

关于c# - Visual Studio 认为我想连接到 SQL Server 而不是 MySQL?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54610475/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com