首页 > 解决方案 > SQL Server 数据库连接 C# ASP.NET

问题描述

要初始化连接字符串,它需要是一个静态字符串。为什么会这样?

using System.Data.SqlClient;

namespace CDemoLib
{
    public class Connecting
    {
        static string conString = @"connection string here";

此外,当我尝试使用我打开连接conn.Open()时出现错误提示

当前上下文中不存在名称 conn.Open()

为什么会发生该错误?

using System.Data.SqlClient;

namespace CDemoLib
{
    public class Connecting
    {
         static string conString = @"connection string here";

    SqlConnection conn = new SqlConnection(conString);
    conn.Open();

标签: c#asp.netsql-servervisual-studio

解决方案


我已经回答了这个问题,但我会为你重播。(连接字符串不是工作对象实例引用为空

将连接字符串放在 web.config 中,如下例所示:

<add name="MovieDB"
     connectionString="Data Source=LocalDb)\MSSQLLocalDB;Initial Catalog=aspnet- MvcMovie;Integrated Security=SSPI;AttachDBFilename=|DataDirectory|\Movies.mdf"     
     providerName="System.Data.SqlClient"/>

在您的代码中阅读它:

System.Configuration.Configuration rootWebConfig =System.Web.Configuration.WebConfigurationManager.OpenWebConfiguration("/MyWebSiteRoot");
    System.Configuration.ConnectionStringSettings connString;
    if (rootWebConfig.ConnectionStrings.ConnectionStrings.Count > 0)
    {
        connString =
            rootWebConfig.ConnectionStrings.ConnectionStrings["MovieDB"];
        if (connString != null)
            Console.WriteLine("MovieDB connection string = \"{0}\"",
                connString.ConnectionString);
        else
            Console.WriteLine("No MovieDB connection string");
    }

您的 web.config 标记“名称”中的名称

<add name="MovieDB".....

必须与您的 c# 代码中的相同:

connString = rootWebConfig.ConnectionStrings.ConnectionStrings["MovieDB"]

来自:https ://msdn.microsoft.com/en-us/library/ms178411.aspx

这是一个打开它的方法:

private static void OpenSqlConnection(string connString)
{
    using (SqlConnection connection = new SqlConnection(connString))
    {
        connection.Open();
        Console.WriteLine("ServerVersion: {0}", connection.ServerVersion);
        Console.WriteLine("State: {0}", connection.State);
    }
}

来自:https ://msdn.microsoft.com/en-us/library/system.data.sqlclient.sqlconnection.open(v=vs.110).aspx

不要忘记在您的 web.config 中保护您的连接字符串。请阅读:https ://msdn.microsoft.com/en-us/library/ms178372.aspx


推荐阅读