运行该项目时出现错误
类型为'System.Data.SqlClient.SqlException'的未处理异常 发生在System.Data.dll
其他信息:与网络有关或与实例有关的错误 建立与SQL Server的连接时发生。服务器是 找不到或无法访问。验证实例名称为 正确,并且该SQL Server配置为允许远程连接。 (提供者:命名管道提供者,错误:40-无法打开 连接到SQL Server)
namespace Project.DAL
{
public static class NativeSqlDb
{
public static string ConStr
{
get
{
return System.Configuration.ConfigurationManager.ConnectionStrings["Project.Properties.Settings.QuestionDbConnectionString"].ConnectionString;
}
}
public static DataTable ExecuteReader(string sql)
{
SqlConnection con = new SqlConnection(ConStr);
SqlCommand cmd = new SqlCommand(sql, con);
DataTable dt = new DataTable("Dt");
con.Open(); //Im having error on this part sqlexception was unhandle
try
{
SqlDataReader reader = cmd.ExecuteReader();
dt.Load(reader);
reader.Close();
}
finally
{
con.Close();
}
return dt;
}
public static int ExecuteNonQuery(string sql)
{
SqlConnection con = new SqlConnection(ConStr);
SqlCommand cmd = new SqlCommand(sql, con);
con.Open();
int sayi = 0;
try
{
sayi = cmd.ExecuteNonQuery();
}
finally
{
con.Close();
}
return sayi;
}
public static int ExecuteNonQuery(string sql, params SqlParameter[] param)
{
SqlConnection con = new SqlConnection(ConStr);
SqlCommand cmd = new SqlCommand(sql, con);
con.Open();
int sayi = 0;
foreach (SqlParameter p in param)
{
cmd.Parameters.Add(p);
}
try
{
sayi = cmd.ExecuteNonQuery();
}
finally
{
con.Close();
}
return sayi;
}
public static object ExecuteScalar(string sql)
{
SqlConnection con = new SqlConnection(ConStr);
SqlCommand cmd = new SqlCommand(sql, con);
con.Open();
object o;
try
{
o = cmd.ExecuteScalar();
}
finally
{
con.Close();
}
return o;
}
}
}
我已连接到SQL Server,但仍然出现错误。
编辑:断点屏幕截图。
编辑:
答案 0 :(得分:0)
你去了。配置文件中的连接字符串应包含data source=.\sqlexpress
而不是USER-PC
:
<add name="Project.Properties.Settings.QuestionDbConnectionString" connectionString="Data Source=.\SQLEXPRESS;Initial Catalog=Project;Integrated Security=true;" providerName="System.Data.SqlClient" />
答案 1 :(得分:-1)
确保连接字符串正确(使用mssqlmanager进行测试)。然后,确保您已正确配置服务器,并确保防火墙也已正确配置。如果服务器是远程服务器,请确保可以首先ping它,以便知道连接有效。如果您在本地运行-请仔细检查所有配置,原因一定是问题所在。