C# 如何将ado.net数据库连接到ASP.NETMVC5

C# 如何将ado.net数据库连接到ASP.NETMVC5,c#,asp.net,asp.net-mvc,asp.net-mvc-5,ado.net,C#,Asp.net,Asp.net Mvc,Asp.net Mvc 5,Ado.net,我是ASP.NETMVC5新手,以前使用ASP.NETWebForms和Ado.Net数据库连接创建过两个应用程序 我看过很多文章解释如何在ASP.NETMVC中使用Ado.Net连接,但所有教程都使用实体框架。有没有办法只连接Ado.Net 在我的WebForm应用程序中,我一直在使用以下连接代码: connectionString = "Data Source=ServerName;Initial Catalog=DatabaseName;User ID=UserName;Password=

我是ASP.NETMVC5新手,以前使用ASP.NETWebForms和Ado.Net数据库连接创建过两个应用程序

我看过很多文章解释如何在ASP.NETMVC中使用Ado.Net连接,但所有教程都使用实体框架。有没有办法只连接Ado.Net

在我的WebForm应用程序中,我一直在使用以下连接代码:

connectionString = "Data Source=ServerName;Initial Catalog=DatabaseName;User ID=UserName;Password=Password";
sql = "SQL Statement";
cnn = new SqlConnection(connectionString);
try
{
    cnn.Open();
    cmd = new SqlCommand(sql, cnn);
    cmd.ExecuteNonQuery();
    cmd.Dispose();
    cnn.Close();
}
是否可以在ASP.NETMVC5中使用此功能

当我尝试时,我出现了以下错误:

Cannot open database "online_recharge" requested by the login. The login failed.
Login failed for user 'IIS APPPOOL\DefaultAppPool'.
这是我尝试使用的代码:

public ActionResult Add_Balance()
{
    string record;

    using (SqlConnection sqlConnection = new SqlConnection(connectionString))
    {
        sqlConnection.Open();
        SqlCommand sqlCmd = new SqlCommand("Select * from COMMISSION_PACKAGE",sqlConnection);
        SqlDataReader reader = sqlCmd.ExecuteReader();
        record = reader["PKG_NM"].ToString();
        sqlConnection.Close();
    }

    ViewBag.Demo = record;
    return View();
}

没有什么能阻止您在MVC中使用ADO.NET。实体框架是一种非常流行的ORM,它的设置非常简单,这就是为什么人们喜欢在教程中使用它。但是如果您需要一种更自定义\控制的访问数据的方式,您仍然可以使用ADO.NET

提示-不要将连接存储在代码中,这被认为是错误的做法。如果将数据库移动到其他服务器,则需要更改代码并重新编译整个应用程序。应将连接字符串存储在
*.config
文件中:

  <connectionStrings>
    <add name="ConnectionString" connectionString="Data Source=ServerName;Initial Catalog=DatabaseName;User ID=UserName;Password=Password"/>
  </connectionStrings>

这在MVC5应用程序中应该可以正常工作。如果你做的不止这些,EF会让它变得更简单、更干净。谢谢,但是当我创建这个类的obj
SqlConnection
时,它会给出一个如何使用
SqlConnection
sqlCommand
等的错误。你需要添加“using System.Data.SqlClient;”若要使用SqlConnection classi,现在出现以下错误:
无法打开数据库
并且我提到了我在上面执行的代码,请检查它创建有效的连接字符串。您的连接字符串似乎不正确。“数据源=服务器名;初始目录=数据库名;”应替换为有效的服务器名和数据库名。
string connectionString = System.Configuration.ConfigurationManager.ConnectionStrings["ConnectionString"].ConnectionString;