SQL Server 不存在或访问被拒绝。
说明: 执行当前 Web 请求期间,出现未处理的异常。请检查堆栈跟踪信息,以了解有关该错误以及代码中导致错误的出处的详细信息。 异常详细信息: System.Data.SqlClient.SqlException: SQL Server 不存在或访问被拒绝。源错误:
行 29: SqlConnection cnMain=new SqlConnection(strConn);
行 30: // 打开cnMain
行 31: cnMain.Open();
行 32: // 构造SQL语句,该语句选择所有的主版
行 33: String strMain="select * from MainBoards";
源文件: d:\ch8\net\index.aspx.cs 行: 31 堆栈跟踪:
[SqlException: SQL Server 不存在或访问被拒绝。]
System.Data.SqlClient.ConnectionPool.GetConnection(Boolean& isInTransaction) +472
System.Data.SqlClient.SqlConnectionPoolManager.GetPooledConnection(SqlConnectionString options, Boolean& isInTransaction) +372
System.Data.SqlClient.SqlConnection.Open() +384
net.INDEX.Page_Load(Object sender, EventArgs e) in d:\ch8\net\index.aspx.cs:31
System.Web.UI.Control.OnLoad(EventArgs e) +67
System.Web.UI.Control.LoadRecursive() +35
System.Web.UI.Page.ProcessRequestMain() +731
__________________________________________________________________________________________
using System;
using System.Collections;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Web;
using System.Web.SessionState;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.UI.HtmlControls;
using System.Data.SqlClient;namespace net
{
/// <summary>
/// INDEX 的摘要说明。
/// </summary>
public class INDEX : System.Web.UI.Page { protected System.Web.UI.WebControls.Label mainname;
protected System.Web.UI.WebControls.Label subname; private void Page_Load(object sender, System.EventArgs e)
{
// 在此处放置用户代码以初始化页面
//连接数据库
string strConn="server=Localhost;uid=sa;pwd=;database=eFrum";
// 创建Connection对象cnMain
SqlConnection cnMain=new SqlConnection(strConn);
// 打开cnMain
cnMain.Open();
// 构造SQL语句,该语句选择所有的主版
String strMain="select * from MainBoards";
// 创建Command对象cmMain
SqlCommand cmMain=new SqlCommand(strMain,cnMain);
// 执行ExecuteReader()方法得到drMain
SqlDataReader drMain=cmMain.ExecuteReader();
// 显示主版
while(drMain.Read())
{
Response.Write(Convert.ToString(drMain["MainName"])+"<BR>");
mainname.Text+=Convert.ToString(drMain["MainName"]);
// 创建Connection对象cnSub
SqlConnection cnSub=new SqlConnection(strConn);
// 打开cnSub
//cnSub.Open();
// 构造SQL语句,该语句选择主版的所有子版
String strSub="select * from SubBoards where "+
"MainID='"+drMain["MainID"]+"'";
// 创建Command对象cmSub
SqlCommand cmSub=new SqlCommand(strSub,cnSub);
// 执行ExecuteReader()方法得到drSub
SqlDataReader drSub=cmSub.ExecuteReader();
// 显示子版
while(drSub.Read())
{
Response.Write(Convert.ToString(drSub["SubName"]));
subname.Text+=Convert.ToString(drSub["SubName"]);
}
// 关闭cnSub
cnSub.Close();
}
// 关闭连接
cnMain.Close();
} #region Web 窗体设计器生成的代码
override protected void OnInit(EventArgs e)
{
//
// CODEGEN: 该调用是 ASP.NET Web 窗体设计器所必需的。
//
InitializeComponent();
base.OnInit(e);
}
/// <summary>
/// 设计器支持所需的方法 - 不要使用代码编辑器修改
/// 此方法的内容。
/// </summary>
private void InitializeComponent()
{
this.Load += new System.EventHandler(this.Page_Load);
}
#endregion
}
}
说明: 执行当前 Web 请求期间,出现未处理的异常。请检查堆栈跟踪信息,以了解有关该错误以及代码中导致错误的出处的详细信息。 异常详细信息: System.Data.SqlClient.SqlException: SQL Server 不存在或访问被拒绝。源错误:
行 29: SqlConnection cnMain=new SqlConnection(strConn);
行 30: // 打开cnMain
行 31: cnMain.Open();
行 32: // 构造SQL语句,该语句选择所有的主版
行 33: String strMain="select * from MainBoards";
源文件: d:\ch8\net\index.aspx.cs 行: 31 堆栈跟踪:
[SqlException: SQL Server 不存在或访问被拒绝。]
System.Data.SqlClient.ConnectionPool.GetConnection(Boolean& isInTransaction) +472
System.Data.SqlClient.SqlConnectionPoolManager.GetPooledConnection(SqlConnectionString options, Boolean& isInTransaction) +372
System.Data.SqlClient.SqlConnection.Open() +384
net.INDEX.Page_Load(Object sender, EventArgs e) in d:\ch8\net\index.aspx.cs:31
System.Web.UI.Control.OnLoad(EventArgs e) +67
System.Web.UI.Control.LoadRecursive() +35
System.Web.UI.Page.ProcessRequestMain() +731
__________________________________________________________________________________________
using System;
using System.Collections;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Web;
using System.Web.SessionState;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.UI.HtmlControls;
using System.Data.SqlClient;namespace net
{
/// <summary>
/// INDEX 的摘要说明。
/// </summary>
public class INDEX : System.Web.UI.Page { protected System.Web.UI.WebControls.Label mainname;
protected System.Web.UI.WebControls.Label subname; private void Page_Load(object sender, System.EventArgs e)
{
// 在此处放置用户代码以初始化页面
//连接数据库
string strConn="server=Localhost;uid=sa;pwd=;database=eFrum";
// 创建Connection对象cnMain
SqlConnection cnMain=new SqlConnection(strConn);
// 打开cnMain
cnMain.Open();
// 构造SQL语句,该语句选择所有的主版
String strMain="select * from MainBoards";
// 创建Command对象cmMain
SqlCommand cmMain=new SqlCommand(strMain,cnMain);
// 执行ExecuteReader()方法得到drMain
SqlDataReader drMain=cmMain.ExecuteReader();
// 显示主版
while(drMain.Read())
{
Response.Write(Convert.ToString(drMain["MainName"])+"<BR>");
mainname.Text+=Convert.ToString(drMain["MainName"]);
// 创建Connection对象cnSub
SqlConnection cnSub=new SqlConnection(strConn);
// 打开cnSub
//cnSub.Open();
// 构造SQL语句,该语句选择主版的所有子版
String strSub="select * from SubBoards where "+
"MainID='"+drMain["MainID"]+"'";
// 创建Command对象cmSub
SqlCommand cmSub=new SqlCommand(strSub,cnSub);
// 执行ExecuteReader()方法得到drSub
SqlDataReader drSub=cmSub.ExecuteReader();
// 显示子版
while(drSub.Read())
{
Response.Write(Convert.ToString(drSub["SubName"]));
subname.Text+=Convert.ToString(drSub["SubName"]);
}
// 关闭cnSub
cnSub.Close();
}
// 关闭连接
cnMain.Close();
} #region Web 窗体设计器生成的代码
override protected void OnInit(EventArgs e)
{
//
// CODEGEN: 该调用是 ASP.NET Web 窗体设计器所必需的。
//
InitializeComponent();
base.OnInit(e);
}
/// <summary>
/// 设计器支持所需的方法 - 不要使用代码编辑器修改
/// 此方法的内容。
/// </summary>
private void InitializeComponent()
{
this.Load += new System.EventHandler(this.Page_Load);
}
#endregion
}
}
改为
string strConn="server=(local);database=eFrum;uid=sa;pwd=****";
本地SQL Server创建了实例吗?你用查询分析能连接嘛?
string strConn="Server=(local);Database=eFrum;User ID=sa;Password=;";
string strConn="Server=(local);Database=eFrum;User ID=sa;Password=;";
或者
string strConn="Server=机器名/ip;Database=eFrum;User ID=sa;Password=;";