注册 登录
编程论坛 ASP.NET技术论坛

想通过时间把表中的数据再增加一遍,只是时间变动,帮忙看一下哪个地方有问题呢??

ggaolin 发布于 2007-12-18 13:55, 789 次点击
[bold]这是我运行时显示的错误页面,可是我怎么改动就是不行啊,请大侠帮忙指点一下。急!!!
错误页面:
[/bold]
阅读器关闭时 Read 的尝试无效。
说明: 执行当前 Web 请求期间,出现未处理的异常。请检查堆栈跟踪信息,以了解有关该错误以及代码中导致错误的出处的详细信息。
异常详细信息: System.InvalidOperationException: 阅读器关闭时 Read 的尝试无效。
源错误:
行 197:                
行 198:                
行 199:            while(dr.Read())
行 200:            {
行 201://                public string DateTime;

下面是我的代码,执行到while中的sqlCmd.ExecuteNonQuery()时就出现了上面的错误,我上传几个重要的代码,请帮忙看一下。
string startTime=this.startTime.Text;
                string endTime=this.endTime.Text;
                SqlConnection con=oilOperate.createCon();
                con.Open();
                SqlCommand cmd=new SqlCommand("select * from price where DateTime='"+startTime+"'",con);
                SqlDataReader dr=cmd.ExecuteReader();
                while(dr.Read())
            {oil y=new oil();
                y.DateTime=dr["DateTime"].ToString();
                y.Categories=dr["Categories"].ToString();
string sql="insert into price(DateTime,Categories,Products,TodayPrices,PreviousDay,Remarks,Units,messagePerson,messageUnit,visiable) values('"+endTime+"','"+y.Categories+"','"+y.Products+"','"+y.TodayPrices+"','"+y.PreviousDay+"','"+y.Remarks+"','"+y.Units+"','"+y.messagePerson+"','"+y.messageUnit+"','"+y.visiable+"')";
//                Response.Write("<script language='javascript'>alert('成功!');</script>");
                SqlCommand sqlCmd=new SqlCommand(sql,con);
                
                sqlCmd.ExecuteNonQuery();//当执行到这是,就会出现上面的错误页面,帮忙看一下。
                
            }
4 回复
#2
xiaohonghui02007-12-18 14:19
行 197:               
行 198:               
行 199:            while(dr.Read())
行 200:            {
行 201://                public string DateTime;

下面是我的代码,执行到while中的sqlCmd.ExecuteNonQuery()时就出现了上面的错误,我上传几个重要的代码,请帮忙看一下。
string startTime=this.startTime.Text;
                string endTime=this.endTime.Text;
                SqlConnection con=oilOperate.createCon();
                con.Open();
                SqlCommand cmd=new SqlCommand("select * from price where DateTime='"+startTime+"'",con);
                SqlDataReader dr=cmd.ExecuteReader();
                while(dr.Read())
            {oil y=new oil();
                y.DateTime=dr["DateTime"].ToString();
                y.Categories=dr["Categories"].ToString();

               加dr.close();
            
string sql="insert into price(DateTime,Categories,Products,TodayPrices,PreviousDay,Remarks,Units,messagePerson,messageUnit,visiable) values('"+endTime+"','"+y.Categories+"','"+y.Products+"','"+y.TodayPrices+"','"+y.PreviousDay+"','"+y.Remarks+"','"+y.Units+"','"+y.messagePerson+"','"+y.messageUnit+"','"+y.visiable+"')";
//                Response.Write("<script language='javascript'>alert('成功!');</script>");
                SqlCommand sqlCmd=new SqlCommand(sql,con);
               
                sqlCmd.ExecuteNonQuery();//当执行到这是,就会出现上面的错误页面,帮忙看一下。
               
            }
#3
xiaohonghui02007-12-18 14:20
行 197:               
行 198:               
行 199:            while(dr.Read())
行 200:            {
行 201://                public string DateTime;

下面是我的代码,执行到while中的sqlCmd.ExecuteNonQuery()时就出现了上面的错误,我上传几个重要的代码,请帮忙看一下。
string startTime=this.startTime.Text;
                string endTime=this.endTime.Text;
                SqlConnection con=oilOperate.createCon();
                con.Open();
                SqlCommand cmd=new SqlCommand("select * from price where DateTime='"+startTime+"'",con);
                SqlDataReader dr=cmd.ExecuteReader();
                while(dr.Read())
            {oil y=new oil();
                y.DateTime=dr["DateTime"].ToString();
                y.Categories=dr["Categories"].ToString();

[bold]加dr.close();[/bold]
string sql="insert into price(DateTime,Categories,Products,TodayPrices,PreviousDay,Remarks,Units,messagePerson,messageUnit,visiable) values('"+endTime+"','"+y.Categories+"','"+y.Products+"','"+y.TodayPrices+"','"+y.PreviousDay+"','"+y.Remarks+"','"+y.Units+"','"+y.messagePerson+"','"+y.messageUnit+"','"+y.visiable+"')";
//                Response.Write("<script language='javascript'>alert('成功!');</script>");
                SqlCommand sqlCmd=new SqlCommand(sql,con);
               
                sqlCmd.ExecuteNonQuery();//当执行到这是,就会出现上面的错误页面,帮忙看一下。
               
            }
#4
ggaolin2007-12-18 15:23
还是不大行啊。
阅读器关闭时 Read 的尝试无效。
说明: 执行当前 Web 请求期间,出现未处理的异常。请检查堆栈跟踪信息,以了解有关该错误以及代码中导致错误的出处的详细信息。

异常详细信息: System.InvalidOperationException: 阅读器关闭时 Read 的尝试无效。

源错误:


行 205:                
行 206:                
行 207:            while(dr.Read())
行 208:            {
行 209://                public string DateTime;
#5
ggaolin2007-12-18 15:25
还是不可以。
我试了一下,他显示的是下面的错误,因为while是个循环,是不是??
阅读器关闭时 Read 的尝试无效。
说明: 执行当前 Web 请求期间,出现未处理的异常。请检查堆栈跟踪信息,以了解有关该错误以及代码中导致错误的出处的详细信息。
异常详细信息: System.InvalidOperationException: 阅读器关闭时 Read 的尝试无效。
源错误:
行 205:                
行 206:                
行 207:            while(dr.Read())
行 208:            {
行 209://                public string DateTime;
1