
请ASP高手 帮忙看一下 这段代码捕获了一个异常 Invalidoperationexception 求解
publicpartialclassfinanceview:System.Web.UI.Page{protectedvoidPage_Load(objectsender,...
public partial class financeview : System.Web.UI.Page
{
protected void Page_Load(object sender, EventArgs e)
{
}
protected void Button1_Click(object sender, EventArgs e)
{
dg_TurnOverList.CurrentPageIndex = 0;
//从文件Web.config中读取连接字符串
string sqldb = ConfigurationSettings.AppSettings["ConnectionString"];
SqlConnection Conn = new SqlConnection(sqldb);
//定义sql语句
String selsql = "select h.Begintime,h.Endtime,h.Roomid,c.Roomtype,h.Cldentityid,h.Totalprice" +
" from history h,RoomOperation r,Roomtype c where r.Roomid=h.Roomid and r.Roomid=c.Typeid";
//读取时间纪录
string datefrom = YearFromList.SelectedItem.Value.ToString() + "-" + MouthFromList.SelectedItem.Value.ToString() + "-" + DayFromList.SelectedItem.Value.ToString();
string dateto = YearToList.SelectedItem.Value.ToString() + "-" + MouthToList.SelectedItem.Value.ToString() + "-" + DayToList.SelectedItem.Value.ToString();
selsql = selsql + " and h.Begintime between '" + datefrom + "'and'" + dateto + "'";
//读取方式记录
if (RCategoryNameList.SelectedIndex != 0)
{
selsql = selsql + " and c.Roomid='" + RCategoryNameList.SelectedIndex + "'";
}
//创建SqlDataAdapter对象,调用selsql
SqlDataAdapter myadapter = new SqlDataAdapter(selsql, Conn);
//创建并填充DataSet
DataSet ds = new DataSet();
myadapter.Fill(ds);
dg_TurnOverList.DataSource = ds;
dg_TurnOverList.DataBind();
//计算营业额
double SumPrice = 0;
for (int i = 0; i < dg_TurnOverList.Items.Count; i++)
{
DataRow dr = ds.Tables[0].Rows[i];
SumPrice = SumPrice + Convert.ToDouble(dr["Totalprice"].ToString());
}
TurnOverLabel.Text = SumPrice.ToString();
Conn.Close();
}
protected void Show_TurnOverList()
{
//从文件Web.config中读取连接字符串
string sqldb = ConfigurationSettings.AppSettings["ConnectionString"];
SqlConnection Conn = new SqlConnection(sqldb);
//定义sql
string selsql = "select h.Begintime,h.Endtime,h.Roomid,c.Roomtype,h.Cldentityid,h.Totalprice" +
" from history h,RoomOperation r,Roomtype c where r.Roomid=h.Roomid and r.Roomid=c.Typeid";
SqlDataAdapter myadapter = new SqlDataAdapter(selsql, Conn);
DataSet ds = new DataSet();
myadapter.Fill(ds);
dg_TurnOverList.DataSource = ds;
dg_TurnOverList.DataBind();
Conn.Close();
}
protected void Button2_Click(object sender, EventArgs e)
{
Show_TurnOverList();
}
} 展开
{
protected void Page_Load(object sender, EventArgs e)
{
}
protected void Button1_Click(object sender, EventArgs e)
{
dg_TurnOverList.CurrentPageIndex = 0;
//从文件Web.config中读取连接字符串
string sqldb = ConfigurationSettings.AppSettings["ConnectionString"];
SqlConnection Conn = new SqlConnection(sqldb);
//定义sql语句
String selsql = "select h.Begintime,h.Endtime,h.Roomid,c.Roomtype,h.Cldentityid,h.Totalprice" +
" from history h,RoomOperation r,Roomtype c where r.Roomid=h.Roomid and r.Roomid=c.Typeid";
//读取时间纪录
string datefrom = YearFromList.SelectedItem.Value.ToString() + "-" + MouthFromList.SelectedItem.Value.ToString() + "-" + DayFromList.SelectedItem.Value.ToString();
string dateto = YearToList.SelectedItem.Value.ToString() + "-" + MouthToList.SelectedItem.Value.ToString() + "-" + DayToList.SelectedItem.Value.ToString();
selsql = selsql + " and h.Begintime between '" + datefrom + "'and'" + dateto + "'";
//读取方式记录
if (RCategoryNameList.SelectedIndex != 0)
{
selsql = selsql + " and c.Roomid='" + RCategoryNameList.SelectedIndex + "'";
}
//创建SqlDataAdapter对象,调用selsql
SqlDataAdapter myadapter = new SqlDataAdapter(selsql, Conn);
//创建并填充DataSet
DataSet ds = new DataSet();
myadapter.Fill(ds);
dg_TurnOverList.DataSource = ds;
dg_TurnOverList.DataBind();
//计算营业额
double SumPrice = 0;
for (int i = 0; i < dg_TurnOverList.Items.Count; i++)
{
DataRow dr = ds.Tables[0].Rows[i];
SumPrice = SumPrice + Convert.ToDouble(dr["Totalprice"].ToString());
}
TurnOverLabel.Text = SumPrice.ToString();
Conn.Close();
}
protected void Show_TurnOverList()
{
//从文件Web.config中读取连接字符串
string sqldb = ConfigurationSettings.AppSettings["ConnectionString"];
SqlConnection Conn = new SqlConnection(sqldb);
//定义sql
string selsql = "select h.Begintime,h.Endtime,h.Roomid,c.Roomtype,h.Cldentityid,h.Totalprice" +
" from history h,RoomOperation r,Roomtype c where r.Roomid=h.Roomid and r.Roomid=c.Typeid";
SqlDataAdapter myadapter = new SqlDataAdapter(selsql, Conn);
DataSet ds = new DataSet();
myadapter.Fill(ds);
dg_TurnOverList.DataSource = ds;
dg_TurnOverList.DataBind();
Conn.Close();
}
protected void Button2_Click(object sender, EventArgs e)
{
Show_TurnOverList();
}
} 展开
展开全部
你有好几个地方 都用到了Conn.Close();应该是某个class不小心关掉了conn,你可以先试着不要关闭conn 然后没有错误了 确定是Conn.Close();引起的后你再在合适的地方Conn.Close();
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
你忘记建立数据连接了,在 SqlConnection Conn = new SqlConnection(sqldb); 之后加一个语句 Conn.Open(); 试试:)
本回答被提问者和网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
楼上正解。不过不排除你的配置是否正确!
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询