c# - 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();
解决方案
我已经回答了这个问题,但我会为你重播。(连接字符串不是工作对象实例引用为空)
将连接字符串放在 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
推荐阅读
- reactjs - React + Antd + Rollup 组件库“错误:无效的钩子调用。钩子只能在函数组件的主体内部调用”
- php - 如何根据与特殊数据匹配的json列检索数据
- android - 具有超时的 Android Q ConnectivityManager.requestNetwork 显示错误对话框,可停止任何后续请求
- python - sympy Expectation CoercionFailed("期望一个整数,得到 %s" % a)
- r - 基于 MAD 为汇总数据集和时间序列平均值识别异常值的 ID 和删除异常值
- android - Swip ViewPager2 很慢
- powershell - 使用 csv 数据 powershell 时仅复制某些文件夹
- r - R动态存储公式
- python - 提取嵌入在元组中的项目
- python - 如何仅替换字符串中的最后一个字符,而不替换较早出现的相同字符?