Asp.net MVC SQL 服务器连接 return 空
Asp.net MVC SQL Server connection return null
我正在尝试连接到本地主机上的 Microsoft SQL 服务器。我的代码如下。
public SqlConnection con;
// To Handle connection related activities
private void connection()
{
string constr = ConfigurationManager.ConnectionStrings["Data Source = MACHINE-VOIV7EH\SQLEXPRESS; Initial Catalog = geolog; Persist Security Info = False; "].ToString();
con = new SqlConnection(constr);
}
public List<Bob> GetAllBobs()
{
try
{
connection();
con.Open();
IList<Bob> EmpList = SqlMapper.Query<Bob>(con, "GetBobs").ToList();
con.Close();
return EmpList.ToList();
}
catch (Exception)
{
throw;
}
}
con return null
SQL 服务器设置:
来自 Pyton 的配置(尝试,但另一个数据库):
conn = pypyodbc.connect('DRIVER={SQL Server};'
r'SERVER=MACHINE-VOIV7EH\SQLEXPRESS;'
r'DATABASE=vibori;'
r' autocommit=True'
)
ConfigurationManager.ConnectionStrings[string]
的字符串索引是连接名称,而不是 returns 的连接字符串。使用您的 Web 配置文件 (web.config
) 添加一个或多个可由该索引器返回的命名连接字符串。
示例:
string constr = System.Configuration.ConfigurationManager.ConnectionStrings["MyConnection"].ConnectionString
和部分web.config
内容
<?xml version="1.0" encoding="UTF-8"?>
<configuration>
<connectionStrings>
<add name="MyConnection" connectionString="Data Source=MACHINE-VOIV7EH\SQLEXPRESS;Initial Catalog=vibori" providerName="System.Data.SqlClient" />
</connectionStrings>
</configuration>
问题出在您的连接字符串上。您应该从 web.config
文件中引用您的连接字符串。
Web.Config
<connectionStrings>
<add name="master" providerName="System.Data.SqlClient" connectionString="Data Source=ACHINE-VOIV7EH\SQLEXPRESS;Initial Catalog=geolog;Integrated Security=False;User Id=your_user_id;Password=xxxxxx;MultipleActiveResultSets=True" />
</connectionStrings>
C# 文件
SqlConnection connection = new SqlConnection(System.Configuration.ConfigurationManager.ConnectionStrings["master"].ConnectionString);
或者你可以发送一个连接字符串如下
private void connection()
{
string constr = "Data Source=MACHINE-VOIV7EH\SQLEXPRESS; Initial Catalog = geolog; Persist Security Info = False;";
con = new SqlConnection(constr);
}
我正在尝试连接到本地主机上的 Microsoft SQL 服务器。我的代码如下。
public SqlConnection con;
// To Handle connection related activities
private void connection()
{
string constr = ConfigurationManager.ConnectionStrings["Data Source = MACHINE-VOIV7EH\SQLEXPRESS; Initial Catalog = geolog; Persist Security Info = False; "].ToString();
con = new SqlConnection(constr);
}
public List<Bob> GetAllBobs()
{
try
{
connection();
con.Open();
IList<Bob> EmpList = SqlMapper.Query<Bob>(con, "GetBobs").ToList();
con.Close();
return EmpList.ToList();
}
catch (Exception)
{
throw;
}
}
con return null
SQL 服务器设置:
来自 Pyton 的配置(尝试,但另一个数据库):
conn = pypyodbc.connect('DRIVER={SQL Server};'
r'SERVER=MACHINE-VOIV7EH\SQLEXPRESS;'
r'DATABASE=vibori;'
r' autocommit=True'
)
ConfigurationManager.ConnectionStrings[string]
的字符串索引是连接名称,而不是 returns 的连接字符串。使用您的 Web 配置文件 (web.config
) 添加一个或多个可由该索引器返回的命名连接字符串。
示例:
string constr = System.Configuration.ConfigurationManager.ConnectionStrings["MyConnection"].ConnectionString
和部分web.config
内容
<?xml version="1.0" encoding="UTF-8"?>
<configuration>
<connectionStrings>
<add name="MyConnection" connectionString="Data Source=MACHINE-VOIV7EH\SQLEXPRESS;Initial Catalog=vibori" providerName="System.Data.SqlClient" />
</connectionStrings>
</configuration>
问题出在您的连接字符串上。您应该从 web.config
文件中引用您的连接字符串。
Web.Config
<connectionStrings>
<add name="master" providerName="System.Data.SqlClient" connectionString="Data Source=ACHINE-VOIV7EH\SQLEXPRESS;Initial Catalog=geolog;Integrated Security=False;User Id=your_user_id;Password=xxxxxx;MultipleActiveResultSets=True" />
</connectionStrings>
C# 文件
SqlConnection connection = new SqlConnection(System.Configuration.ConfigurationManager.ConnectionStrings["master"].ConnectionString);
或者你可以发送一个连接字符串如下
private void connection()
{
string constr = "Data Source=MACHINE-VOIV7EH\SQLEXPRESS; Initial Catalog = geolog; Persist Security Info = False;";
con = new SqlConnection(constr);
}