hur.cn - 华软网

 热门搜索

一小时内菜鸟送100分 急等解答 setitem 的问题

  作者:未知    来源:网络    更新时间:2018/7/4
dw.SetTransObject(sqlca)
dw.object.datawindow.readonly = TRUE
dw.ReSet()
dw.InsertRow(0)
ls_name= .......//字段名 用messagebox 显示出来 是正确的
dw.SetItem(1, ls_colname, 'sdsdsds')

用setitem 设置字段的值
为什么数据窗显示不出来?

------华软网友回答------
dw.object.datawindow.readonly = TRUE ???
------华软网友回复------
dw.object.datawindow.readonly = TRUE
设置了DW为只读的,你不能对DW修改
------华软网友回复------
同意上面的  dw.object.datawindow.readonly = TRUE

------华软网友回复------
补充:如果还是显示不出来。 
先设置好当前行当前列。 加上:
dw.settext('sdsdsds')  //修改当前行当前列的值
dw.AcceptText()
------华软网友回复------

......

dw.SetItem(1, ls_colname, 'sdsdsds')
dw.AcceptText()
if dw.update() > 0 then
  commit;
  if sqlca.sqlcode <> 0 then
     rollback;
     messagebox("警告","不能提交更新!")
     return
  end if
else
  messagebox("警告","不能更新!")
  return 
end if
.....


------华软网友回复------
dw.object.datawindow.readonly = TRUE 去掉了也不行
------华软网友回复------
看你貼的代碼,
你用messagebox顯示的是ls_name變量,
而在setitem中使用的是ls_colname變量,
兩個不一樣的,這能說明什么?
------华软网友回复------
setitem不成功,一是欄位名稱不對,二是賦的值不能通過欄位的驗証,如欄位是數字型,而你賦值為字符就不行.
------华软网友回复------
dw.SetTransObject(sqlca)
dw.object.datawindow.readonly = TRUE
dw.ReSet()
dw.InsertRow(0)
ls_name= .......//字段名 用messagebox 显示出来 是正确的
dw.SetItem(1, ls_colname, 'sdsdsds')
//**************************************************************//
1, ls_name 与ls_colname 变量不一致
2,得确定该字段是个字符型的, 才能赋以'sdsdsds'
3, dw.object.datawindow.readonly = TRUE  去掉
4,长度限制, 写保护该字段等等原因引起!
------华软网友回复------
在这里主要的还是dw.object.datawindow.readonly = TRUE 和  列名不存在引起的,
------华软网友回复------
dd
------华软网友回复------
你先判断SETITME是否成功。 Returns 1 if it succeeds and -1 if an error occurs

如果没成功,同时又没有报错,那么最有可能的就是你弄错了数据类型,比如把字符串附给了数字字段。。。。。如果是列名或行号错了,PB运行时候会报告错误的行或列的。所以肯定不是行号列号错误。
------华软网友回复------
dw.SetItem(1, ls_colname, 'sdsdsds')
ls_colname是单个字段名,

看看这个能不能显示
dw.SetItem(1, 2, 'sdsdsds')或
dw.SetItem(1, 3, 'sdsdsds')
------华软网友回复------
……
大家好积极啊
------华软网友回复------
大家该说的都说光了,我总结一下,呵呵:
1。dw.object.datawindow.readonly = TRUE  去掉
2。dw.SetItem(1, ls_colname, 'sdsdsds') ,可能是你setitem函数用错了,你的ls_colname是你的列的名字吗,类型是字符型吗?
------华软网友回复------
我估计是你要插入的值与数据库的表里的值的类型不符。我今天刚遇到过。因为是改别人的东西。所以在插ID号的时候,自己习惯用String型。可是以前的大哥用decimal型的。dw.setitem也不好使。一看才知道。其它的楼上都说的很清楚了。祝顺!!
------华软网友回复------
ding
都说拉,混个脸熟
------华软网友回复------
接个分 捧个场      
华软声明:本内容来自网络,如有侵犯您版权请来信指出,本站立即删除。