日期:2014-05-20  浏览次数:21019 次

大家看看这段代码的问题
protected void btlogn_Click(object sender, EventArgs e)
  {
  //SqlConnection conn = new SqlConnection(ConfigurationManager.AppSettings["conStr"]);
   
  //SqlCommand cmd = new Sqlcommand("select *from tb_users where UserName='"TextBox1.Text"'and
  //UserPwd='"TextBox2.Text"'",con);
  // con.Open();
  SqlConnection conn = new SqlConnection();
  //conn.ConnectionString = "Data Source=(local);Integrated Security=SSPI;Initial Catalog=DB_MIANSHI";
  conn.ConnectionString = "Data Source=WIN-BIJD9E1CLDG;Initial Catalog=DB_MIANSHI;Integrated Security=True";
  //ConfigurationManager.AppSettings["conStr"]
  conn.Open();
  SqlCommand cmd = new SqlCommand("select * from tb_users where UserName='"+TextBox1.Text+"'and userPwd='"+TextBox2.Text+"'", conn);
  SqlDataReader drNew = cmd.ExecuteReader();
  if (drNew.HasRows) 
  {
  Response.Redirect("~/Operation.aspx");
  } 
  drNew.Close();
  if (conn!=null)
  conn.Close();
  }


报错:

在与 SQL Server 建立连接时出现与网络相关的或特定于实例的错误。未找到或无法访问服务器。请验证实例名称是否正确并且 SQL Server 已配置为允许远程连接。 (provider: 命名管道提供程序, error: 40 - 无法打开到 SQL Server 的连接) 
说明: 执行当前 Web 请求期间,出现未处理的异常。请检查堆栈跟踪信息,以了解有关该错误以及代码中导致错误的出处的详细信息。 

异常详细信息: System.Data.SqlClient.SqlException: 在与 SQL Server 建立连接时出现与网络相关的或特定于实例的错误。未找到或无法访问服务器。请验证实例名称是否正确并且 SQL Server 已配置为允许远程连接。 (provider: 命名管道提供程序, error: 40 - 无法打开到 SQL Server 的连接)



另外就是很多连接字符创的方式讲的不一样比如说数据源这一项:有的写data source 有的写sever
到底有个什么样的规范呢?

------解决方案--------------------
探讨
错误信息不是很明显么?
数据库连接错误!
"Data Source=WIN-BIJD9E1CLDG;Initial Catalog=DB_MIANSHI;Integrated Security=True";
这个连接字符串有问题,
你在连接前先测试一下是否连接到了数据库
连接规范(连接SQLServer数据库):
Data Source=服务器名;Initail Catalog=数据库……

------解决方案--------------------
先写个连接测试的程序不就完了,查询错也简单