hur.cn - 华软网

 热门搜索

关于dropdowndw的问题?

  作者:未知    来源:网络    更新时间:2016/12/15
数据窗口里的有一个DROPDOWNDW控件,也连接了另一个数据窗口(包括名称和ID),DISPLAY COLUMN为‘名称’,DATA COLUME为‘ID’,在进行数据输入时却报错?这个问题如何解决?
------华软网友回答------
子数据窗就是否检索了?

//检索子数锯窗
DataWindowChild child

GetChild("下拉字段",child)
child.SetTransObject(sqlca)
child.Retrieve()
------华软网友回复------
如果不是这个原因,错误提示是什么?
------华软网友回复------
会不会是数据库错误或验证错误?在itemerror()下写上return 1,dberror()下边写上return 2试试
------华软网友回复------
子窗口数据需要检索吗?我以前做成功过一次,可惜不小心删除了,这次再做就不行了,似乎没有写过子窗口数据检索的代码
另出错的内容如下:
SQLSTATE = 23000
[Sybase][ODBC Driver][Adaptive Server Anywhere]Integrity constraint violation: column 'dept_id' in table 'stuff' cannot be NULL

No changes made to database.

INSERT INTO "stuff" ( "stuff_id", "name", "sex", "position", "mobile", "birthday", "degree" ) VALUES ( ?, ?, ?, ?, ?, ?, ? )


------华软网友回复------
dept_id是必填字段
而你的insert里面没有对这个字段赋值
当然会出错
一个办法是在数据库设置这个字段的默认值
或者
INSERT INTO "stuff"
( "dept_id", "stuff_id", "name", "sex", "position", "mobile", "birthday", "degree" ) 
VALUES ( "初始值", ?, ?, ?, ?, ?, ?, ? )

------华软网友回复------
所以我使用的是dropdownDW呀,可是不行。

------华软网友回复------
呵,前几天我做一个程序也是这样的错误,我重新换了一个数据窗口,然后把那个"插入"按钮的事件重新给改了一下就可以了,我现在把以前的那个数据窗口换上还是不行,所以我建议你重新做一个数据窗口对像,试试!!!
------华软网友回复------
和使用DropDownDW没有太大关系啊。
对了,你错误提示的
INSERT INTO "stuff" ( "stuff_id", "name", "sex", "position", "mobile", "birthday", "degree" ) VALUES ( ?, ?, ?, ?, ?, ?, ? )
这个是在哪儿的?如果不是你程序里自己写的INSERT语句,
那么有可能是在设置Update属性时,没有把dept_id加入到需要update的字段中。
至少从这个insert来看是没有对dept_id 赋值。而从错误提示来看dept_id是不允许空的。
------华软网友回复------
如果是用dw的update方法的,
最好写成dw.update(true)      
华软声明:本内容来自网络,如有侵犯您版权请来信指出,本站立即删除。