急求,各位前辈帮个忙,错误 “EndExecuteNonQuery”方法没有任何重载采用“0”个参数

时间:2022-08-27 22:12:01

急求,各位前辈帮个忙,非常感谢!    错误1 “EndExecuteNonQuery”方法没有任何重载采用“0”个参数  
错误 2 “System.Web.UI.WebControls.DataListCommandEventArgs”不包含“FindControl”的定义,并且找不到可接受类型为“System.Web.UI.WebControls.DataListCommandEventArgs”的第一个参数的扩展方法“FindControl”(是否缺少 using 指令或程序集引用?)



using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Data.SqlClient;
using System.Data;
using System.Configuration;



public partial class Default3 : System.Web.UI.Page
{
    protected void Page_Load(object sender, EventArgs e)
    {

        if (!IsPostBack)
            Bind();
    }

    public SqlConnection GetCon()//创建一个数据库的打开连接GetCon方法
    {
        SqlConnection sqlCon = new SqlConnection();//实例化SqlConnection对象
        sqlCon.ConnectionString = ConfigurationManager.ConnectionStrings["conn"].ConnectionString;           //实例化SqlConnection对象连接数据库的字符串
        return sqlCon;       //输出sqlCon
    }
    public void Bind()     //创建Bind绑定数据方法
    {
        SqlConnection sqlCon = new SqlConnection();//实例化SqlConnection对象
        string SqlStr = "select * from tb_book";//定义SQL语句,把查询tb_book所有信息赋给SqlStr
        SqlDataAdapter da = new SqlDataAdapter(SqlStr, sqlCon);//实例化SqlDataAdapter对象
        DataSet ds = new DataSet();//实例化数据集DataSet
        da.Fill(ds, "tb_book");//通过适配方式把tb_book查询内容,填充到ds中
        //绑定DataList控件
        DataList1.DataSource = ds;//设置数据源,用于填充控件的项的值列表
        DataList1.DataBind();//将控件及其所有的子控件绑定到指定的数据源
    }


    protected void DataList1_ItemCommand1(object source, DataListCommandEventArgs e)
    {
        if (e.CommandName == "select")//e代表当前选择
        {
            //设置选中行的索引为当前选择行的索引
            DataList1.SelectedIndex = e.Item.ItemIndex;//当前选择的索引值赋给DataList1
            Bind();//绑定数据
        }
        if (e.CommandName == "back")//取消
        {
            DataList1.SelectedIndex = -1;//设置选中行的索引为-1,取消该数据项的选择
            Bind();//绑定数据
        }
    }

    protected void DataList1_EditCommand(object source, DataListCommandEventArgs e)
    {
        DataList1.EditItemIndex = e.Item.ItemIndex;//设置 DataList1控件的编辑项的索引为选择的当前索引
        Bind();//绑定你所选择的索引值数据
    }
    protected void DataList1_UpdateCommand(object source, DataListCommandEventArgs e)
    {
        //取得编辑行的关键字段的值
        string bookID = DataList1.DataKeys[e.Item.ItemIndex].ToString();//ID不需要更新,显示,代表一条记录
        //取得在文本框输入的内容
        string bookName = ((TextBox)e.FindControl("txtName")).Text;//FindControl创建修改
        string num = ((TextBox)e.FindControl("txtNum")).Text;
        string sqlStr = "update tb_book set BookName='" + bookName + "',Num='" + num + "'where BookID=" + bookID; //更新数据库
        SqlConnection myConn = GetCon();//连接
        myConn.Open();//打开数据库
        SqlCommand myCmd = new SqlCommand(sqlStr, myConn);//实例化命令,更新数据语句
        myCmd.EndExecuteNonQuery();//执行
        myConn.Dispose();//取消
        myConn.Close();//关闭
        DataList1.EditItemIndex = -1;//取消整个状态
        Bind();//绑定数据,程序处于选择完索引的值后重新绑定
    }

    protected void DataList1_CancelCommand(object source, DataListCommandEventArgs e)
    {
        DataList1.EditItemIndex = -1;//取消编辑
        Bind();//绑定数据,在该事件处理程序中取消处于编辑状态的项并重新绑定数据
    }
}

6 个解决方案

#1


EndExecuteNonQuery需要参数IAsyncResult asyncResult
你是不是用错了,应该用ExecuteNonQuery,么有end

#2


我是初学者,可以问一下在哪里改吗?

#3


这个解决了,谢谢,但是第二个错误怎么解决?

#4


myCmd.ExecuteNonQuery();//执行

#5


这个错误可能是什么引发的,求前辈们解惑! “System.Web.UI.WebControls.DataListCommandEventArgs”不包含“FindControl”的定义,并且找不到可接受类型为“System.Web.UI.WebControls.DataListCommandEventArgs”的第一个参数的扩展方法“FindControl”(是否缺少 using 指令或程序集引用?)

#6


1楼已经说的很明白了。顺便说下ExecuteNonQuery 返回受影响行数

#1


EndExecuteNonQuery需要参数IAsyncResult asyncResult
你是不是用错了,应该用ExecuteNonQuery,么有end

#2


我是初学者,可以问一下在哪里改吗?

#3


这个解决了,谢谢,但是第二个错误怎么解决?

#4


myCmd.ExecuteNonQuery();//执行

#5


这个错误可能是什么引发的,求前辈们解惑! “System.Web.UI.WebControls.DataListCommandEventArgs”不包含“FindControl”的定义,并且找不到可接受类型为“System.Web.UI.WebControls.DataListCommandEventArgs”的第一个参数的扩展方法“FindControl”(是否缺少 using 指令或程序集引用?)

#6


1楼已经说的很明白了。顺便说下ExecuteNonQuery 返回受影响行数