请帮我解决这个问题:
ConnectionString属性尚未初始化。
我是ASP.NET的新手。
我正在尝试在登录e Label1.Text
后显示用户名。但是当我运行代码时,它显示了这个错误......它也显示了
无效操作异常
我的代码:
using System;
using System.Collections.Generic;
using System.Data;
using System.Data.SqlClient;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
namespace Botswna_Centralized_Health_Card_System.healthcareOfficerLogins
{
public partial class healthcareOfficerLogins : System.Web.UI.Page
{
SqlCommand cmd = new SqlCommand();
SqlConnection con = new SqlConnection();
SqlDataAdapter sda = new SqlDataAdapter();
DataSet ds = new DataSet();
protected void Page_Load(object sender, EventArgs e)
{
if (Session["hospital_name"] == null)
{
Response.Redirect("~/hospital_login/hospital_login.aspx");
}
else
{
SqlConnection con = new SqlConnection("Data Source=BOW-PC\\BOW;Initial Catalog= BCHCS;Integrated Security=True");
con.Open();
showdata();
}
}
public void showdata()
{
cmd.CommandText="select * from hospitallogins where hospital_Name='" + Session["hospital_Name"]+ "'";
cmd.Connection = con;
sda.SelectCommand = cmd;
sda.Fill(ds);
Label1.Text= ds.Tables[0].Rows[0]["hospital_Name"].ToString();
}
}
}
答案 0 :(得分:1)
您有两个SqlConnection
的不同实例,它们都名为con
。
第一个在你的班级宣布:
SqlConnection con = new SqlConnection();
第二个是在Page_Load
:
SqlConnection con = new SqlConnection("Data Source=BOW-PC\\BOW;Initial Catalog= BCHCS;Integrated Security=True");
当您致电showdata()
时,您正在使用尚未初始化的第一个实例。
你真的应该重构这个以使用单个连接。另外,为了确保您没有任何资源泄漏,请务必使用SqlConnection
上的使用区块或在finally块中调用Dispose
。
using (con = new SqlConnection("Data Source=BOW-PC\\BOW;Initial Catalog= BCHCS;Integrated Security=True"))
{
con.Open();
showdata();
}