以文本方式查看主题

-  Foxtable(狐表)  (http://www.foxtable.com/bbs/index.asp)
--  专家坐堂  (http://www.foxtable.com/bbs/list.asp?boardid=2)
----  大家有没有遇到过:输入框与字段绑定时,执行e.sender.Writevalue(),会提示出错?  (http://www.foxtable.com/bbs/dispbbs.asp?boardid=2&id=7381)

--  作者:cpayinyuan
--  发布时间:2010/6/13 18:34:00
--  大家有没有遇到过:输入框与字段绑定时,执行e.sender.Writevalue(),会提示出错?

操作是这样的(我用的是SQL sever2000外部数据源):

 

    窗口1中有一副本表,在窗口表上双击,通过窗口Table的当前行,在主表中通过FindRow定位,然后打开窗口2,窗口2中有输入框(例如组合框)与主表的字段绑定。

 

    我在一个组合框中执行e.sender.Writevalue后,或者用代码修改e.sender.value后(直接修改的不报错,只有用代码修改才会出错),系统出错,提示行不存在(输入框与字段绑定,而且用Findrow定位后从来没有修改过当前行)。这时候,发现窗口Table中多了一个空行,好像是输入框不再绑定原来定位的当前行,而是绑定了一个Table中不存在的行。

 

   我多次想做个例子,但做不出来,做事例的时候又不出错了。但在原来的项目中却多次出现类似的错误,不知怎么回事。不知其他人遇到过没有?也请贺老师检查一定这方面有无问题。

 

  

[此贴子已经被作者于2010-6-13 18:34:57编辑过]

--  作者:czy
--  发布时间:2010/6/13 20:15:00
--  

还真没遇到过。也看不出究竟哪里出了问题。

压缩项目、清除Catch再试试,说不定会消除也难说。

 


--  作者:mr725
--  发布时间:2010/6/14 0:53:00
--  
以下是引用cpayinyuan在2010-6-13 18:34:00的发言:

.........

直接修改的不报错,只有用代码修改才会出错

..........  

 

直接修改的不报错说明绑定没有问题,感觉是代码在执行时对定位主表的行时受到什么东东干扰了,或者有新增行的动作在先,不敢确定。 (不会有个新增行的bug吧)。

愿意的话贴出相关代码看看。 


--  作者:狐狸爸爸
--  发布时间:2010/6/14 9:00:00
--  

1、和数据源无关的

2、这种错误一般都是自己的代码不严谨造成的。

3、最好有错误提示,否则没有办法预估。


--  作者:古奇
--  发布时间:2010/6/14 13:01:00
--  
我就出现过。。不过后来发觉了,如果有了控件不能为空或其他条件判断代码,就出错。。。我现在是将 e.sender.Writevalue只能放在不带条件判断的控件里面。。