C# 使用MySql.Data.MySqlClient;它不起作用了

C# 使用MySql.Data.MySqlClient;它不起作用了,c#,mysql,C#,Mysql,在我使用MS SQL之前,但在一个新项目中,我使用mysql,当我运行我们的应用程序时,我得到了这个错误 编译错误说明:编译过程中发生错误 编译服务此请求所需的资源。请 查看以下特定错误详细信息并修改源 适当地编码 编译器错误消息:CS0246:类型或命名空间名称“MySql” 找不到(是否缺少using指令或程序集 参考?) 源错误: Line 4: using System.Text; Line 5: using System.Web; Line 6: `using MySql.Dat

在我使用MS SQL之前,但在一个新项目中,我使用mysql,当我运行我们的应用程序时,我得到了这个错误

编译错误说明:编译过程中发生错误 编译服务此请求所需的资源。请 查看以下特定错误详细信息并修改源 适当地编码

编译器错误消息:CS0246:类型或命名空间名称“MySql” 找不到(是否缺少using指令或程序集 参考?)

源错误:

Line 4:  using System.Text;
Line 5:  using System.Web;
Line 6:  `using MySql.Data.MySqlClient;    this namespace is not working 
Line 7:  using System.Data.SqlTypes;

如何解决这个问题?

你确定你有吗?

你需要添加对MySQL.Data.dll的引用(如果没有,你可以按照Lukasz发布的链接下载)

要解决这个问题,请从


然后右键单击项目名称,单击添加引用并在项目解决方案框架中选择MySql.Data.dll文件

查找引用文件并右键单击它,然后在菜单上选择“添加引用”,然后单击.NET选项卡,查找MySql.Data并将其添加到引用文件。

1)右键单击引用,选择添加引用

2) 选择.NET选项卡。检查选项卡正下方的文本内容,例如:“筛选到:.NET Framework 4客户端配置文件”

3) 单击浏览选项卡

4) 浏览到MySql文件夹并进入Assemblys文件夹,例如: C:\ProgramFiles(x86)\MySQL\Connector NET 6.8.3\Assembly

5) 选择与2)下的文本匹配的版本文件夹,例如:“v4.0”

6) 在Windows7 64位上添加MySql.Data.dll

1) 下载

2) 在文件夹/bin中粘贴MySql.Data.dll的副本

3) 创建数据库和表,例如

CREATE DATABASE my_db ;

USE my_db; 

CREATE TABLE `my_users` (
`id` int(11) NOT NULL auto_increment,
`name` varchar(100) NOT NULL default '',
`country` varchar(100) NOT NULL default '',
PRIMARY KEY  (`id`));

INSERT INTO `my_users` VALUES (null,'Mark','Canada');

INSERT INTO `my_users` VALUES (null,'Frank','US');
4) 创建以下页面Default.aspx


受保护的无效页面加载(对象发送方、事件参数e)
{
MySqlConnection myConnection=新的MySqlConnection(
“服务器=localhost;用户id=root;密码=zZxX11++;数据库=my_db;池=false;”;
String strSQL=“从我的用户中选择*”;
MySqlDataAdapter myDataAdapter=新的MySqlDataAdapter(strSQL,myConnection);
DataSet myDataSet=新数据集();
Fill(myDataSet,“my_用户”);
MySQLDataGrid.DataSource=myDataSet;
MySQLDataGrid.DataBind();
}
MySQL查询

6) 提取上述内容并将GridView.aspx放在项目文件夹中

7) 运行Default.aspx

8) 输出应为:

表格内容:


idnamecountry
1加拿大马克
兰库斯
您应该下载

因为MySql不在.NETFramework库中,所以如果您在VS上的项目中单击“添加引用”,您将找不到它


下载后,您可以单击“添加引用”将其放入您的项目中。

如果您使用的是MySql,则需要添加到对我有用的引用MySql.Data.MySqlClient并使用Mysqlconnection

如果您使用的是Unity Development IDE

1) 在“参照”上单击鼠标右键,选择“编辑参照”。

2) 确保选中System.Data(在所有选项卡中)和MySQl.Data(在.NET程序集包中)

注意:如果MySQl.Data不存在,请从下载,然后使用资产->导入包->自定义包将其上载到Unity环境


3) 重新打开数据库处理程序文件,清理并重新生成代码。如果仍然存在引用错误,请执行步骤1和步骤2。您可能不需要下载dll,您可能已经拥有了它。 查看
->
对象浏览器
->
.NET
查找
MySql.Data
->添加确定 ->添加到引用中

要获取
MySql.Data.MySqlClient
类或
dll
文件,必须先从第三方下载:

那么: 1.单击添加引用 2.单击按钮上的“浏览”按钮 3.转到下载文件的路径。 4.选择dll文件并选择
5.添加该文件作为引用,它将工作

在我的例子中,问题是MySql.Data版本。我将其从8.0.20更改为6.10.9(在管理NuGet软件包时),它开始工作。

即使您已经使用引用包含MySql连接器,它也可能无法工作。原因是您可能正在旧版本上运行,但安装的连接器与旧版本不兼容。因此,请转到参考->管理Nuget包。
然后在该窗口中搜索mysql.data。然后继续调整版本号,直到它落在兼容的正确版本上

如果是
dotnet core 3.0

  • 使用NuGET包管理器添加Mysql.Data包
  • 在appsettings.json中写入连接字符串 例如:

    “AllowedHosts”:“*”, “连接字符串”:{ “默认值”:“服务器=localhost;用户=root;密码=123';数据库=DbName” }

  • 在Startup.cs文件->在ConfigureServices方法中添加

    AddTransient(=>newmysqlconnection(配置[“ConnectionStrings:Default”])


  • 它在我的应用程序中运行良好

    感谢这项工作也为我节省了时间非常感谢(Visual studio 2012)此处提供的链接已断开…@allexiusw-感谢您的消息。新增链接:)
    <%@ Page Language="C#" Debug="true" %>
    <%@ import Namespace="System.Data" %>
    <%@ import Namespace="MySql.Data.MySqlClient" %>
    <script runat="server">
    
    protected void Page_Load(Object sender, EventArgs e)
    {
        MySqlConnection myConnection = new MySqlConnection(
        "server=localhost; user id=root; password=zZxX11++; database=my_db; pooling=false;");
    
        String strSQL = "SELECT * FROM my_users;";
    
        MySqlDataAdapter myDataAdapter = new MySqlDataAdapter(strSQL, myConnection);
    
        DataSet myDataSet = new DataSet();
        myDataAdapter.Fill(myDataSet, "my_users");
    
        MySQLDataGrid.DataSource = myDataSet;
        MySQLDataGrid.DataBind();
    }
    
    </script>
    <html>
    <head>
        <title>MySQL Query</title>
    </head>
    <body>
        <form runat="server">
        <asp:DataGrid id="MySQLDataGrid" runat="server"></asp:DataGrid>
        </form>
    </body>
    </html> 
    
    <table cellspacing="0" rules="all" border="1" id="MySQLDataGrid" style="border-collapse:collapse;">
        <tbody><tr>
            <td>id</td><td>name</td><td>country</td>
        </tr><tr>
            <td>1</td><td>Mark</td><td>Canada</td>
        </tr><tr>
            <td>2</td><td>Frank</td><td>US</td>
        </tr>
    </tbody></table>