none
异常信息: DataBinding:“System.Data.DataRowView”不包含名为“doorlog”的属性。 RRS feed

  • 问题

  • 如题 在网站运行一段时间后在gridview1.databind()时报异常信息: DataBinding:“System.Data.DataRowView”不包含名为“doorlog”的属性。请各位朋友帮忙看下是什么原因,谢谢了。
    pinkbull
    2011年9月21日 5:33

答案

  • select [DateTime],TerminalID,DoorID,PeopleId,EventAlarm,InOutIndication,VerificationSource from DoorLogc

    GridView1.DataBind()不是绑定这条select,

    这里 GridView1是绑定到数据源的。 GridView1.DataBind()是刷新了数据源。


    pinkbull


    既然不是绑定这条select,那么给我们这个无用信息干什么呢?

    我的意思是:过度的Bind也不会发生此错误。要不建议你使用Cache什么的试试看。


    如果你有其它意见或私下交流,请直接发送maledong_work@foxmail.com;或者讨论(Talk)
    If you do not have QQ, please open the page and download it and click the image to talk or leave message for me.
    下载MSDN桌面工具(Vista,Win7)
    下载Technet桌面小工具(Vista,Win7)
    慈善点击,点击此处
    • 已标记为答案 frank-gao 2011年9月22日 12:24
    2011年9月21日 6:11
    版主
  • 你这个重新绑定  你需要操作去掉错误字段才行  出错后当然页面混乱 因为你用的是ajax
    My Blog<
    • 已标记为答案 frank-gao 2011年9月22日 12:24
    2011年9月22日 4:24
  • 问题已经解决,是因为连接数据库问题,一条sql连接语句还没有断开,又有一个天sql连接打开数据库,所以后者没法连接数据库select不到数据,抱错了。

    谢谢各位的帮忙


    pinkbull
    • 已标记为答案 frank-gao 2011年9月22日 12:24
    2011年9月22日 12:23

全部回复

  • 如题 在网站运行一段时间后在gridview1.databind()时报异常信息: DataBinding:“System.Data.DataRowView”不包含名为“doorlog”的属性。请各位朋友帮忙看下是什么原因,谢谢了。
    pinkbull


    1)检查你的select语句中是否真正包含doorlog字段。

    2)检查大小写是否敏感,是否拼写错误。

    谢谢


    如果你有其它意见或私下交流,请直接发送maledong_work@foxmail.com;或者讨论(Talk)
    If you do not have QQ, please open the page and download it and click the image to talk or leave message for me.
    下载MSDN桌面工具(Vista,Win7)
    下载Technet桌面小工具(Vista,Win7)
    慈善点击,点击此处
    2011年9月21日 5:46
    版主
  • select 语句中包含doorlog字段,大小下写也是正确的。网站大部分运行时间是正常的,不固定时间出现这样的错误。

    gridview1.databind()是在ajax时间控件里面。定时读取数据库数据显现在页面上。不知道是不是跟频繁的databind的问题。


    pinkbull
    2011年9月21日 5:53
  • select 语句中包含doorlog字段,大小下写也是正确的。网站大部分运行时间是正常的,不固定时间出现这样的错误。

    gridview1.databind()是在ajax时间控件里面。定时读取数据库数据显现在页面上。不知道是不是跟频繁的databind的问题。


    pinkbull

    最好列出你在Timer中的代码,以及多少时间刷新绑定一次。谢谢。
    如果你有其它意见或私下交流,请直接发送maledong_work@foxmail.com;或者讨论(Talk)
    If you do not have QQ, please open the page and download it and click the image to talk or leave message for me.
    下载MSDN桌面工具(Vista,Win7)
    下载Technet桌面小工具(Vista,Win7)
    慈善点击,点击此处
    2011年9月21日 5:57
    版主
  •    protected void Timer1_Tick1(object sender, EventArgs e)
        {
            try
            {
                // DataTable tb1 = mess.tb1;
                tb1 = conn.getDataSet("select [DateTime],TerminalID,DoorID,PeopleId,EventAlarm,InOutIndication,VerificationSource from DoorLogc", "Doorlog").Tables["Doorlog"];
                if (tb1 != null)
                {
                    if (tb1.Rows.Count > 0)
                    {
                        GridView1.DataBind();
                        if (GridView1.Rows.Count == 20 || GridView1.Rows.Count > 20)//满足20条删除临时状态
                        {
                            s1.jq_sz_5();
                        }
    
    
                        string a = tb1.DefaultView[tb1.Rows.Count - 1][1].ToString();//机器编号
                        string g = tb1.DefaultView[tb1.Rows.Count - 1][2].ToString();//门号
                        string f = tb1.DefaultView[tb1.Rows.Count - 1][4].ToString();//事件
    
    
                        //状态
    
                        string t1 = "";
                        string t2 = "";
                        t1 = "关门";
                        t2 = "~/img/111.jpg";
                        switch (f)
                        {
                            case "按钮出门":
                                t1 = "开门";
                                t2 = "~/img/222.jpg";
                                break;
                            case "正常开门":
                                t1 = "开门";
                                t2 = "~/img/222.jpg";
                                break;
                            case "远程开门":
                                t1 = "开门";
                                t2 = "~/img/222.jpg";
                                break;
                            case "远程关门":
                                t1 = "关门";
                                t2 = "~/img/111.jpg";
                                break;
                            case "正常关门":
                                t1 = "关门";
                                t2 = "~/img/111.jpg";
                                break;
                            case "门打开时间过长":
                                t1 = "开门";
                                t2 = "~/img/222.jpg";
                                break;
                            case "门被撬":
                                t1 = "开门";
                                t2 = "~/img/222.jpg";
                                break;
                            case "门被闯入":
                                t1 = "开门";
                                t2 = "~/img/222.jpg";
                                break;
                            case "无":
                                t1 = "开门";
                                t2 = "~/img/222.jpg";
                                break;
                        }
    
                        s1.jq_sz_6(t1, t2, f, g, a);
    
                        DataList1.DataBind();
    
                        tb1.Clear();
                    }
    
                }
                else
                {
    
                }
    
            }
            catch (Exception ex)
            {
    
                RegisterStartupScript("Check", "<Script language='JavaScript'>alert('" + ex.ToString() + "');</Script>");
            }
    
    
    
        }
    


    上面是在timer中的代码。帮我看看,谢谢

     


    pinkbull
    2011年9月21日 6:00
  • 对不起,没有发现doorlog!你看看你给出的select语句……select 后面哪有啊?

    select [DateTime],TerminalID,DoorID,PeopleId,EventAlarm,InOutIndication,VerificationSource from DoorLogc


    如果你有其它意见或私下交流,请直接发送maledong_work@foxmail.com;或者讨论(Talk)
    If you do not have QQ, please open the page and download it and click the image to talk or leave message for me.
    下载MSDN桌面工具(Vista,Win7)
    下载Technet桌面小工具(Vista,Win7)
    慈善点击,点击此处
    2011年9月21日 6:04
    版主
  • select [DateTime],TerminalID,DoorID,PeopleId,EventAlarm,InOutIndication,VerificationSource from DoorLogc


    GridView1.DataBind()不是绑定这条select,

    这里 GridView1是绑定到数据源的。 GridView1.DataBind()是刷新了数据源。


    pinkbull
    2011年9月21日 6:08
  • select [DateTime],TerminalID,DoorID,PeopleId,EventAlarm,InOutIndication,VerificationSource from DoorLogc

    GridView1.DataBind()不是绑定这条select,

    这里 GridView1是绑定到数据源的。 GridView1.DataBind()是刷新了数据源。


    pinkbull


    既然不是绑定这条select,那么给我们这个无用信息干什么呢?

    我的意思是:过度的Bind也不会发生此错误。要不建议你使用Cache什么的试试看。


    如果你有其它意见或私下交流,请直接发送maledong_work@foxmail.com;或者讨论(Talk)
    If you do not have QQ, please open the page and download it and click the image to talk or leave message for me.
    下载MSDN桌面工具(Vista,Win7)
    下载Technet桌面小工具(Vista,Win7)
    慈善点击,点击此处
    • 已标记为答案 frank-gao 2011年9月22日 12:24
    2011年9月21日 6:11
    版主
  • 我是想吧time里面的所有代码都贴出了看到清楚点。

    但出现报错后 ,页面数据绑定会出现混乱。


    pinkbull
    2011年9月21日 6:21
  • 你这个重新绑定  你需要操作去掉错误字段才行  出错后当然页面混乱 因为你用的是ajax
    My Blog<
    • 已标记为答案 frank-gao 2011年9月22日 12:24
    2011年9月22日 4:24
  • 问题已经解决,是因为连接数据库问题,一条sql连接语句还没有断开,又有一个天sql连接打开数据库,所以后者没法连接数据库select不到数据,抱错了。

    谢谢各位的帮忙


    pinkbull
    • 已标记为答案 frank-gao 2011年9月22日 12:24
    2011年9月22日 12:23