编译时出错CS1501: No overload for method 'EndExecuteReader' takes '0' arguments什么意思啊?偶实在是穷
出错提示
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




