SQL Server数据库连接 C# ASP.NET
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();
问题的原因是连接字符串没有正确配置,导致在代码中无法引用该连接字符串。解决方法是将连接字符串添加到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打开连接进行测试,并确保在添加引用时按照正确步骤进行操作。