【求助】为什么UPDATE总是失败啊

foxbat 2003-05-28 03:14:01
在UPDATE PROPERTIES也做了设置
UPDATE返回的是-1,其他如SQLNROWS、SQLCODE都是0,SQLERRTEXT为空

谢谢!
...全文
373 17 打赏 收藏 转发到动态 举报
写回复
用AI写文章
17 条回复
切换为时间正序
请发表友善的回复…
发表回复
foxbat 2003-06-27
  • 打赏
  • 举报
回复
实在是查不出原因
我在表里加了一个IDENTITY类型的字段作为主键,现在一切都OK了
谢谢楼上各位!
huihuishou 2003-06-22
  • 打赏
  • 举报
回复
楼上说的很对,先用可以看的见的数据窗口试试,你也许就发现问题所在了!
klbt 2003-06-21
  • 打赏
  • 举报
回复
建议先不用数据存储,直接用数据窗口'd_test'试验,可能容易发现问题所在。
大雄之家 2003-06-21
  • 打赏
  • 举报
回复
新增行时才SQLCA.SQLNRows > 0 ,代码里没有新增行。
foxbat 2003-06-17
  • 打赏
  • 举报
回复
没有出现任何的系统错误提示框;除了我的那个MessageBox

另外,Update Properties也做了设置,而且几乎把所有的可能都试验了一遍。估计是没有用了,我还是改用SQL语句算了,就是效率太低了。

谢谢楼上各位!!!
tulip2108 2003-06-17
  • 打赏
  • 举报
回复
新增行时才SQLCA.SQLNRows > 0 ,代码里没有新增行。
cyactiveboy 2003-06-17
  • 打赏
  • 举报
回复
你的SQLNROWS为0当然去执行ELSE喽!
jmcao_peter 2003-06-17
  • 打赏
  • 举报
回复
把 SQLCA.SQLNRows 去掉!!

IF li_rtn = 1 THEN
COMMIT USING SQLCA;
ELSE
MessageBox( '错误', '在有效性判断结果保存时发生错误: ' + SQLCA.SQLERRTEXT )
ROLLBACK USING SQLCA;
END IF
flljt 2003-06-07
  • 打赏
  • 举报
回复
是不是你的数据窗口update属性设置不正确,或没有设置,打开要保存的数据窗口控件,到数据窗口的Row下面的Update Properties里的allowed updates 中有没有选上你要update的列
flyerlxg 2003-06-06
  • 打赏
  • 举报
回复
是不是数据窗口对象的有关设置不对呀?是否能够允许update,到Row下面的Update Properties里面看看
linleming 2003-06-06
  • 打赏
  • 举报
回复
UPDATE返回的是-1,其他如SQLNROWS、SQLCODE都是0,SQLERRTEXT为空???

这是系统提示的错误吗????运行时是否出现错误提示框????
foxbat 2003-06-02
  • 打赏
  • 举报
回复
555,没有人告诉我吗?
foxbat 2003-05-30
  • 打赏
  • 举报
回复
UPDATE返回的是-1,其他如SQLNROWS、SQLCODE都是0,SQLERRTEXT为空
homeness 2003-05-28
  • 打赏
  • 举报
回复
出现错误的提示是什么啊?
贴出来看看
foxbat 2003-05-28
  • 打赏
  • 举报
回复


LONG i
LONG ll_rowcount
LONG ll_find

STRING ls_notam_no
STRING ls_notam_type
STRING ls_addition

DATETIME ldt_end
DATETIME ldt_today

DATASTORE lds_notam


ldt_today = DateTime( Today(), Now() )

lds_notam = CREATE DATASTORE

lds_notam.dataobject = 'd_test'
lds_notam.SetTransObject( SQLCA )

ll_rowcount = lds_notam.Retrieve()


IF ls_notam_type = 'NOTAMN' THEN // 对于NOTAMN类型的
ldt_end = lds_notam.GetItemDateTime( i, 'END_TIME' )

IF ldt_today > ldt_end THEN // 已经过期了
// 2003.5.20
li_avail = lds_notam.GetItemNumber( i, 'AVAILABILITY' )
IF li_avail = 1 THEN
lds_notam.Object.AVAILABILITY[i] = 0
END IF

END IF
ELSE
// 作无法处理标志
lds_notam.Object.AVAILABILITY[i] = -1
END IF


li_rtn = lds_notam.UPDATE( TRUE, FALSE )

IF li_rtn = 1 AND SQLCA.SQLNRows > 0 THEN
COMMIT USING SQLCA;
ELSE
MessageBox( '错误', '在有效性判断结果保存时发生错误: ' + SQLCA.SQLERRTEXT )
ROLLBACK USING SQLCA;
END IF

DESTROY lds_notam
joss 2003-05-28
  • 打赏
  • 举报
回复
把update前语句贴出来!
llllay 2003-05-28
  • 打赏
  • 举报
回复
情况写具体一些!!!

611

社区成员

发帖
与我相关
我的任务
社区描述
PowerBuilder DataWindow
社区管理员
  • DataWindow社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧