pb9.0+Sybase SQL Anywhere 5.0 获取不到自动增加的ID
学生表, ID,XM
ID 列是数据库 自动增加的。
当我 插入一条记录。把XM 字段填好 然后 保存成功了。。
接着我就取 ID 的值,取出来的都是空值。。。
例子:
long id, inser_row
inser_row = dw_1.insertrow(0)
dw_1.object.xm[inser_row]='33'
dw_1.update( )
//dw_1.retrieve( )
id = dw_1.object.id[inser_row]
id = dw_1.getitemnumber(1,"id")
直接 objec 获取,还是用 getitemnumber 得到的都是 null
只有 retrieve() 后 才有值。。。 这是为什么啊。。 我见其帖子说,可以不 刷新就可以得到 自动增加ID 的值的了呀,为什么我就是不得。。
求解。。。。大侠们。。。
[解决办法]
设置DW 的Update ProPerties... 的时候,选上Identity column 为ID
另,在update() 前,要保证ID 列为null
[解决办法]
dw_1.update( )
dw_1.setredraw( true )
id = dw_1.object.id[inser_row]
[解决办法]
测试了一下,是可以取到id的:
SQLCA.DBMS = "ODBC"SQLCA.AutoCommit = FalseSQLCA.DBParm = "ConnectString='DSN=EAS Demo DB V9;UID=dba;PWD=sql'"connect using sqlca;long id, inser_row dw_1.settransobject(sqlca)inser_row = dw_1.insertrow(0) dw_1.object.a[inser_row]= 144 dw_1.object.b[inser_row]= 124dw_1.update( )//dw_1.retrieve( )id = dw_1.object.id[inser_row] messagebox('', id)
[解决办法]
你的pb版本?