当前上下文中不存在变量(asp.net 连接字符串),我不明白为什么
Variable (for asp.net connection string) does not exist in the current context and I can't see why
我已经尝试(几乎是一步一步)复制此视频中的代码 https://www.youtube.com/watch?v=pBCPc44CE74&index=3&list=PL6n9fhu94yhX5dzHunAI2t4kE0kOuv4D7 但我的 'con' 变量在两个地方导致错误。我的代码是:
protected void Page_Load(object sender, EventArgs e)
{
string CS = ConfigurationManager.ConnectionStrings["CSDB"].ConnectionString;
using (SqlConnection con = new SqlConnection(CS)) ;
SqlCommand cmd = new SqlCommand("SELECT * FROM admin_UserRole WHERE Archived = 0", con);
con.Open();
RoleGrid.DataSource = cmd.ExecuteReader();
RoleGrid.DataBind();
}
}
}
在我的 SQL 语句之后 'con' 和 'con.Open();' 也会出现错误。
我显然是新手,所以如果我没有说清楚来回答这个问题,我深表歉意。
您的 using 语句过早关闭...这意味着...您的 SqlConnection
对象会立即创建和处置。
所以修改你的代码如下
protected void Page_Load(object sender, EventArgs e)
{
string CS = ConfigurationManager.ConnectionStrings["CSDB"].ConnectionString;
using (SqlConnection con = new SqlConnection(CS)){
SqlCommand cmd = new SqlCommand("SELECT * FROM admin_UserRole WHERE Archived = 0", con);
con.Open();
RoleGrid.DataSource = cmd.ExecuteReader();
RoleGrid.DataBind();
}
}
检查
using (SqlConnection con = new SqlConnection(CS))
{
if (con.State == ConnectionState.Closed)
{
con.Open();
}
.......
}
我已经尝试(几乎是一步一步)复制此视频中的代码 https://www.youtube.com/watch?v=pBCPc44CE74&index=3&list=PL6n9fhu94yhX5dzHunAI2t4kE0kOuv4D7 但我的 'con' 变量在两个地方导致错误。我的代码是:
protected void Page_Load(object sender, EventArgs e)
{
string CS = ConfigurationManager.ConnectionStrings["CSDB"].ConnectionString;
using (SqlConnection con = new SqlConnection(CS)) ;
SqlCommand cmd = new SqlCommand("SELECT * FROM admin_UserRole WHERE Archived = 0", con);
con.Open();
RoleGrid.DataSource = cmd.ExecuteReader();
RoleGrid.DataBind();
}
}
}
在我的 SQL 语句之后 'con' 和 'con.Open();' 也会出现错误。
我显然是新手,所以如果我没有说清楚来回答这个问题,我深表歉意。
您的 using 语句过早关闭...这意味着...您的 SqlConnection
对象会立即创建和处置。
所以修改你的代码如下
protected void Page_Load(object sender, EventArgs e)
{
string CS = ConfigurationManager.ConnectionStrings["CSDB"].ConnectionString;
using (SqlConnection con = new SqlConnection(CS)){
SqlCommand cmd = new SqlCommand("SELECT * FROM admin_UserRole WHERE Archived = 0", con);
con.Open();
RoleGrid.DataSource = cmd.ExecuteReader();
RoleGrid.DataBind();
}
}
检查
using (SqlConnection con = new SqlConnection(CS))
{
if (con.State == ConnectionState.Closed)
{
con.Open();
}
.......
}