hur.cn - 华软网

 热门搜索

不好意思麻烦大家 动态生成数据窗口,如何让数据记录可修改。

  作者:未知    来源:网络    更新时间:2018/12/6
这样生成了一个动态数据窗口
STRING SYNTAX,SQLSTR,ERRMSG 
SQLSTR ="SELECT * FROM pics_construct_complex" 
CONNECT USING SQLCA; 
SYNTAX = SQLCA.SYNTAXFROMSQL(SQLSTR,"STYLE(TYPE=GRID)", ERRMSG) 
dw_1.CREATE(SYNTAX, ERRMSG) 
dw_1.SetTransObject(SQLCA)
dw_1.RETRIEVE()

为让数据窗口数据可修改,写了以下代码
long i;
string ls_colname;

for i=1 to long(dw_1.Describe("DataWindow.Column.Count"))
    ls_colname=dw_1.Describe("#"+string(i)+".name") //取列名  
    dw_1.Modify("DataWindow.Table.UpdateTable =pics_construct_complex")//设表为可修改
    dw_1.Modify(ls_colname+".Update = 'Yes'")//设列为可修改
next

可是为什么数据窗口照旧不能够修改呢。  TAB ORDER的问题吗?

------华软网友回答------
for i=1 to long(dw_1.Describe("DataWindow.Column.Count"))
 ls_colname=dw_1.Describe("#"+string(i)+".name") 
 
    dw_1.Modify("DataWindow.Table.UpdateTable =pics_construct_complex")
    dw_1.Modify(ls_colname+".Update = 'Yes'")
 dw_1.SetTabOrder(ls_colname,mytaborder) 
 mytaborder=mytaborder+10

next

我写了 设tab order 怎么还不行呢
------华软网友回复------
实施在dw中设置taborder先
或再设置一个循环
看看复制后的taborder都是几多,是否是真的复制上去了
------华软网友回复------
看这张表是否是没有主键,
如果有主键的话,动态创建的数据窗口,数据源如果是一张表的话,他一定能够自己修改的。
------华软网友回复------
主键
------华软网友回复------
我都设置了 可是一保存就非法退出PB
表是有主键的

现在我才发现
普通列名的是能够保存的,就是那些带中文的字段或是带特殊字符的字段不能保存。。。

疯了我。
由于这张表有的字段名是中文或带特殊字符的,直接在PB中图形化生成数据窗口生成不了,犯错。
现在,通过建立动态数据窗口,能够建立数据窗口了,但保存又出现问题。。。。。
一保存就非法退出PB,那些普通的字段名就没毛病。

疯了,我真的疯了。


------华软网友回复------
普通不带中文的字段名也保存不了。。。。非法退出。。
------华软网友回复------
能够修改,但没法保存。。。
long ll_ret
ll_ret=dw_1.update(true,true)
if ll_ret=1 then
   messagebox(“保存成功”, “保存成功”)
commit using sqlca;
   else
    messagebox(“保存失利”, “保存失利”)
rollback using sqlca;
end if
     
华软声明:本内容来自网络,如有侵犯您版权请来信指出,本站立即删除。