回 帖 发 新 帖 刷新版面

主题:求助

用户代码未处理 System.Data.EvaluateException
  Message="未找到列 [c]。"
  Source="System.Data"
  StackTrace:
       在 System.Data.NameNode.Bind(DataTable table, List`1 list)
       在 System.Data.DataExpression.Bind(DataTable table)
       在 System.Data.DataExpression..ctor(DataTable table, String expression, Type type)
       在 System.Data.DataView.set_RowFilter(String value)
       在 WebApplication1._Default.btnSelect_Click(Object sender, EventArgs e) 位置 C:\Inetpub\wwwroot\ADONET\WebApplication1\WebApplication1\Default.aspx.cs:行号 156
       在 System.Web.UI.WebControls.Button.OnClick(EventArgs e)
       在 System.Web.UI.WebControls.Button.RaisePostBackEvent(String eventArgument)


什么情况引起的?
       在 System.Web.UI.WebControls.Button.System.Web.UI.IPostBackEventHandler.RaisePostBackEvent(String eventArgument)
       在 System.Web.UI.Page.RaisePostBackEvent(IPostBackEventHandler sourceControl, String eventArgument)
       在 System.Web.UI.Page.RaisePostBackEvent(NameValueCollection postData)
       在 System.Web.UI.Page.ProcessRequestMain(Boolean includeStagesBeforeAsyncPoint, Boolean includeStagesAfterAsyncPoint)

回复列表 (共4个回复)

沙发

贴出你出错部分详细一点的代码看看!

板凳


using System;
using System.Data;
using System.Configuration;
using System.Collections;
using System.Web;
using System.Web.Security;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
using System.Web.UI.HtmlControls;
using System.Data.SqlClient;

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

        }

        protected void RadioButton2_CheckedChanged(object sender, EventArgs e)
        {

        }

        protected void CustomValidator1_ServerValidate(object source, ServerValidateEventArgs args)
        {
            string pID = args.Value;
            if (personOperate.findPerson(pID))
            {
                args.IsValid = false;
            }
            else
            {
                args.IsValid = true;
            }

        }

        //数据绑定
        protected void fillDg()
        {
            this.GridView1.DataSource = personOperate.selectAllPerson();
            this.GridView1.DataBind();
        }   

        protected void btnAdd_Click(object sender, EventArgs e)
        {
            if (this.IsValid)
            {
                person p = new person();
                p.pID = this.txtPID.Text;
                p.pName = this.txtPName.Text;
                if (this.rBtnNan.Checked)
                {
                    p.pSex = "男";
                }
                else
                {
                    p.pSex = "女";
                }

                if (personOperate.insertOperate(p))
                {
                    Response.Write("插入成功!");
                    this.fillDg();
                }
                else
                {
                    Response.Write("插入失败!");
                }
            }
        }

        protected void btnUpdate_Click(object sender, EventArgs e)
        {
            if (!this.CustomValidator1.IsValid)
            {
                person p = new person();
                p.pID = this.txtPID.Text;
                p.pName = this.txtPName.Text;
                if (this.rBtnNan.Checked)
                {
                    p.pSex = "男";
                }
                else
                {
                    p.pSex = "女";
                }
                if (personOperate.updateOperate(p))
                {
                    Response.Write("修改成功!");
                    this.fillDg();
                }
                else
                {
                    Response.Write("修改失败!");
                }
            }

        }

3 楼

protected void btnDelete_Click(object sender, EventArgs e)
        {
            if (!this.CustomValidator1.IsValid)
            {
                if (personOperate.deleteOperate(this.txtPID.Text))
                {
                    Response.Write("删除成功!");
                    this.fillDg();
                }
                else
                {
                    Response.Write("删除失败!");
                }
            }
        }

        protected void btnSelect_Click(object sender, EventArgs e)
        {
            string c="";
            if (this.chkPID.Checked)
            {
                if (this.chkPID.Text == "")
                {
                    c = "pID like '%'";
                }
                else
                {
                    c = "pID=" + this.txtPID.Text;
                }
            }
            else
            {
                c = "pID like '%'";
            }

            if (this.chkName.Checked)
            {
                c += "and personName like '%'"+this.txtPName.Text+"%'";
            }

            if (this.chkSex.Checked)
            {
                if (this.rBtnNan.Checked)
                {
                    c += "and personSex='男'";
                }
                else 
                {
                    c += "and personSex='女'";
                }
            }
            DataView dv = new DataView(personOperate.selectAllPerson());
            [color=FF0000][size=6]dv.RowFilter = "c";[/size][/color]

            dv.Sort = "pID desc";  //按pID降序排列
            this.GridView1.DataSource = dv;
            this.GridView1.DataBind();
        }
    }
}
问题就出在红色的这句,

4 楼

dv.RowFilter = "c";
筛选器一般如 "字段,=,>,<,like..." 你只给个c是什么意思!

我来回复

您尚未登录,请登录后再回复。点此登录或注册