SQL Server数据库连接 C# ASP.NET

12 浏览
0 Comments

SQL Server数据库连接 C# ASP.NET

为了初始化连接字符串,它需要是一个静态字符串。为什么会发生这种情况?

using System.Data.SqlClient;
namespace CDemoLib
{
    public class Connecting
    {
        static string conString = @"连接字符串在这里";

另外,当我尝试使用`conn.Open()`打开一个连接时,出现了一个错误,说

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

为什么会发生这个错误?

using System.Data.SqlClient;
namespace CDemoLib
{
    public class Connecting
    {
        static string conString = @"连接字符串在这里";
        SqlConnection conn = new SqlConnection(conString);
        conn.Open();

0
0 Comments

问题的原因是连接字符串没有正确配置,导致在代码中无法引用该连接字符串。解决方法是将连接字符串添加到web.config文件中,并在代码中读取它。

首先,在web.config文件的system.web节点下添加连接字符串:


然后,在代码中读取连接字符串:

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文件中的name属性必须与代码中的连接字符串名称一致。

如果还是遇到问题,可以尝试使用SqlConnection打开连接来测试连接是否成功:

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);
    }
}

另外,为了安全起见,还应该对连接字符串进行保护。可以参考微软提供的文档进行相关设置。

如果在添加引用时遇到问题,可能是由于在Visual Studio中添加引用的步骤不正确。可以参考相关的Stack Overflow解决方案进行修复。

总结起来,要解决SQL Server数据库连接的问题,首先要确保连接字符串正确配置,并且在代码中正确引用。如果还是遇到问题,可以尝试使用SqlConnection打开连接进行测试,并确保在添加引用时按照正确步骤进行操作。

0