datastore的使用相关问题

xiaoheixiaobai 2016-09-23 09:42:39
代码如下:

datastore ds
ds=create datastore
ds.dataobject = "dw_test"

new_syntax = sqlca.SyntaxFromSQL(new_sql, 'Style(Type=Grid)', error_syntaxfromSQL)

if len(error_syntaxfromSQL) > 0 then
messagebox('', error_syntaxfromSQL)
return -1
else
ds.create(new_syntax, error_create)
if len(error_create) > 0 then
messagebox('', error_create)
return -1
end if
end if

ds.settransobject(sqlca)
ds.retrieve( )

for ll_row = 1 to ds.rowcount()
dw_2.InsertRow(0)
dw_2.setitem(dw_2.RowCount(),"AA",ds.getitemstring(ll_row,"AA"))
next

AA是查询的一个字段名
问题:为什么执行到dw_2.setitem(dw_2.RowCount(),"kibo_noki_ymd",ds.getitemstring(ll_row,"AA"))时报错了,提示无效的字段 查询语句没问题,DEBUG时DS里面有值
...全文
470 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
zhangyangziwo 2016-09-26
  • 打赏
  • 举报
回复
不好判断column的名字的时候,用id也挺好 ds.getitemstring(ll_row,1) 第几个字段,就用几就行了
sbks 2016-09-24
  • 打赏
  • 举报
回复
引用 2 楼 xiaoheixiaobai 的回复:
[quote=引用 1 楼 sbks 的回复:] 在datawindow画板中,使用newsql的脚 本,生成一个datawindow,看一下生成的column叫什么名字:因为涉及多表连接时,很有可能column的名字会有下划线,而不是你所简单认为的AA
确实是这个问题,第一次做PB的程序,想知道怎么能保证ds的内容和我检索出来的SQL字段名一致[/quote] 生成的字段名有规则的.1.单表就仅仅是字段名,2.多表是表名_字段名 或者采用版主的建议.不管如果,先把sql生成一个datastore,观察一下字段的生成规律,这是最靠谱的事
xiaoheixiaobai 2016-09-23
  • 打赏
  • 举报
回复
引用 1 楼 sbks 的回复:
在datawindow画板中,使用newsql的脚 本,生成一个datawindow,看一下生成的column叫什么名字:因为涉及多表连接时,很有可能column的名字会有下划线,而不是你所简单认为的AA
确实是这个问题,第一次做PB的程序,想知道怎么能保证ds的内容和我检索出来的SQL字段名一致
sbks 2016-09-23
  • 打赏
  • 举报
回复
在datawindow画板中,使用newsql的脚 本,生成一个datawindow,看一下生成的column叫什么名字:因为涉及多表连接时,很有可能column的名字会有下划线,而不是你所简单认为的AA
WorldMobile 2016-09-23
  • 打赏
  • 举报
回复
sql里增加别名,一般就好了,如 select A.id AA, B.name BB from A, B; AA, BB就是别名

608

社区成员

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

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