CSDN首页 空间 新闻 论坛 Blog 下载 读书 网摘 搜索 .NET Java 视频 接项目 求职 在线学习 买书 程序员 通知
可用分押宝游戏火热进行中... 专题改版:Java Web 专题
CSDN社区
搜索 收藏 打印 关闭
CSDN社区 >  .NET技术 >  ASP.NET

编译时出错CS1501: No overload for method 'EndExecuteReader' takes '0' arguments什么意思啊?偶实在是穷

楼主zhaojianqiang(【水风】)2006-07-03 17:53:59 在 .NET技术 / ASP.NET 提问

出错提示  
   
  Compilation   Error    
  Description:   An   error   occurred   during   the   compilation   of   a   resource   required   to   service   this   request.   Please   review   the   following   specific   error   details   and   modify   your   source   code   appropriately.    
   
  Compiler   Error   Message:   CS1501:   No   overload   for   method   'EndExecuteReader'   takes   '0'   arguments  
   
  Source   Error:  
   
     
   
  Line   28:                   {  
  Line   29:                           SqlCommand   cmd   =   new   SqlCommand("select   max(Answer_id)   as   id   from   P_Answer   ",   conn);  //查询表中的最大编号  
  Line   30:                           SqlDataReader   reader   =   cmd.EndExecuteReader();  
  Line   31:                   }  
  Line   32:                   catch   {   }         //如果数据表中没有记录 则发生异常 并在此进行捕获  
     
   
  Source   File:   f:\zhao\Pride\UploadWebSite\zpshow.aspx.cs         Line:   30    
   
  找不出错误   大家帮我看看  
   
  protected   void   btntijiao_Click(object   sender,   EventArgs   e)  
          {  
                   
                  int   idnum   =   5;  
                  string   ip   =   "",   time   =   DateTime.Now.ToString();  
                  SqlConnection   conn   =   new   SqlConnection(System.Configuration.ConfigurationSettings.AppSettings["ConnectionString"]);//获取Web.config文件中的数据库连接路径  
   
                  if   (conn.State   ==   ConnectionState.Closed   ||   conn.State   ==   ConnectionState.Broken)             //如果连接是关闭或是断开的 就打开连接  
                          conn.Open();  
                  try  
                  {  
                          SqlCommand   cmd   =   new   SqlCommand("select   max(Answer_id)   as   id   from   P_Answer   ",   conn);  //查询表中的最大编号  
                          SqlDataReader   reader   =   cmd.EndExecuteReader();  
                  }  
                  catch   {   }         //如果数据表中没有记录 则发生异常 并在此进行捕获  
                  if   (reader.Read())  
                  {  
                          idnum   =   reader["id"];  
                  }  
                  reader.Close();       //关闭读取流  
   
                  SqlCommand   comInsert   =   new   SqlCommand("insert   into   P_Answer   values   (idmum,'"   +   this.txtname.Text   +   "','"   +   this.txtzhuye.Text   +   "','"   +   this.txtnerong.Text   +   "','"   +   ip   +   "','"   +   time   +   "','')",   conn);  
                  try  
                  {  
                          comInsert.EndExecuteNonQuery();  
                          conn.Close();  
   
                  }  
                  catch   {   }  
          }  
   
  问题点数:8、回复次数:7Top

1 楼zhaojianqiang(【水风】)回复于 2006-07-03 18:21:57 得分 0

英文水平高的   DGDJ     些帮我   啊Top

2 楼zedan(kk)回复于 2006-07-03 18:25:09 得分 0

SqlCommand.EndExecuteReader   方法  
  要提供一个参数,你用空参数调用当然报错,查一下SDK帮助Top

3 楼shuifengzi(【水风】大丈夫永不言弃)回复于 2006-07-03 18:27:56 得分 0

哦     MY   GOD  
  我怎么没发现前面还有个End啊  
  在VS2003里面   都是       SqlCommand.ExecuteReader   ();就可以直接用  
  第一次使用2005       不知道该怎么弄了  
   
  需要什么参数呢     我只是想实现一下简单的查询而已Top

4 楼shuifengzi(【水风】大丈夫永不言弃)回复于 2006-07-03 18:28:23 得分 0

我是LZTop

5 楼zedan(kk)回复于 2006-07-03 18:33:34 得分 0

我这台机没有SDK帮助,你自己可以查一下,另外,ExecuteReader   应该还可以用吧Top

6 楼shuifengzi(【水风】大丈夫永不言弃)回复于 2006-07-03 18:34:44 得分 0

疯狂的郁闷       原来是2个不同的方法~~  
  我把   EndExecuteNonQuery();   改为了ExecuteNonQuery();    
  又出现了错误  
   
   
   
   
  Description:   An   error   occurred   during   the   compilation   of   a   resource   required   to   service   this   request.   Please   review   the   following   specific   error   details   and   modify   your   source   code   appropriately.    
   
  Compiler   Error   Message:   CS0103:   The   name   'reader'   does   not   exist   in   the   current   context  
   
  Source   Error:  
   
     
   
  Line   35:                   }  
  Line   36:                   catch   {   }         //如果数据表中没有记录 则发生异常 并在此进行捕获  
  Line   37:                   if   (reader.Read())  
  Line   38:                   {  
  Line   39:                           idnum   =   reader["id"];  
     
   
  这也是什么原因呢?等待指教  
   
  Top

7 楼kssys()回复于 2006-07-03 19:04:29 得分 0

.NET有变量区域的概念,这两个变量写在Try块里面声明,那么出了Try块就不能访问了。  
  因此应这样写:  
  SqlCommand   cmd;  
  SqlDataReader   reader;  
  Try  
  {  
  cmd   =   new   SqlCommand("select   max(Answer_id)   as   id   from   P_Answer   ",   conn);  //查询表中的最大编号  
  reader   =   cmd.EndExecuteReader();  
  }Top

相关问题

关键词

得分解答快速导航

  • 帖主:zhaojianqiang

相关链接

  • CSDN .NET频道
  • .NET类图书
  • C#类图书
  • .NET类源码下载

广告也精彩

反馈

请通过下述方式给我们反馈
反馈
提问
网站简介|广告服务|VIP资费标准|银行汇款帐号|网站地图|帮助|联系方式|诚聘英才|English|问题报告
世纪乐知(北京)网络技术有限公司 版权所有, 京 ICP 证 020026 号
北京创新乐知广告有限公司 提供技术支持
Copyright © 2000-2007, CSDN.NET, All Rights Reserved
GongshangLogo