生成ASP.NET-web应用程序时正在获取CS0246,但添加了MySql.Data
本文关键字:添加 Data MySql CS0246 获取 NET-web ASP 应用程序 生成 | 更新日期: 2023-09-27 18:29:18
首先感谢您尝试解决我的问题。
我正在用asp.net做一个以C#为背景的网络应用程序。因此,当用户按下login.aspx上的按钮时,会使用登录名和密码调用Administratie.login()。Administratie调用Database.cs来执行自己的login(),在其中它与数据库建立连接。
login.aspx:
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
using MySql.Data.MySqlClient;
namespace Admin_SiM.Forms
{
public partial class login : System.Web.UI.Page
{
private Adminstratie administratie;
protected void Page_Load(object sender, EventArgs e)
{
administratie = new Adminstratie();
}
protected void btLogin_Click(object sender, EventArgs e)
{
string result = administratie.Login(tbEmail.Text, tbWachtwoord.Text);
errorlabel.Text = result;
if (result == "correct")
{
// go to next screen
}
}
}
}
Administrative.cs:
using System;
using System.Web;
using System.Web.Services;
using System.Web.Services.Protocols;
using System.ComponentModel;
using System.Collections.Generic;
namespace Admin_SiM
{
public class Adminstratie
{
private Database db;
public Adminstratie()
{
db = new Database();
}
public string Login(string email, string password)
{
string result = db.Login(email, password);
return result;
}
}
}
数据库.cs:
using MySql.Data.MySqlClient;
using System;
namespace Admin_SiM
{
public class Database
{
MySqlConnection con;
public Database()
{
string constring = "server=127.0.0.1;uid=root;pwd=obsessed;database=sim;";
try
{
con = new MySqlConnection(constring);
con.Open();
}
catch (MySqlException ex)
{
string errormessage = ex.StackTrace;
Console.WriteLine(errormessage);
}
finally
{
con.Close();
}
}
public string Login(string username, string password)
{
try
{
con.Open();
MySqlCommand cmd = new MySqlCommand("select wachtwoord from admin where mailadres = '" + username + "';", con);
MySqlDataReader reader = cmd.ExecuteReader();
string ww = "";
try
{
ww = reader.GetString(1);
if (ww == password)
{
return "correct";
}
else
{
return "incorrect wachtwoord";
}
}
catch (Exception ex)
{
return "invalid email";
}
}
catch (Exception ex)
{
return "error";
}
}
}
}
当我运行它时,我只收到以下消息:http://nl.tinypic.com/r/2zoda2h/8从而表示它找不到Mysqlconnection的名称空间,给出错误代码CS0246。
然而,我已经添加了我能找到的所有mysql引用:http://nl.tinypic.com/r/2qasm02/8
但是,当删除除MySql.Data之外的所有引用时,我在前面的"使用"部分中收到了错误消息
有人能帮帮我吗?我尝试了我在网上能找到的所有解决方案,但似乎都不起作用,因为大多数解决方案只是告诉我应该添加引用或重新安装连接器。但我已经做了这些事。
OP此处。我找到了答案:
您需要添加对MySql.Data.dll
的引用,但最好可以使用NuGet-将此dll添加为包
下面是软件包管理器控制台命令
PM> Install-Package MySql.Data
所以我转到了工具>库包管理器>包管理器控制台。然后我使用了上面的命令。