你好,就那天的问题,我做了个实验,如下。
建立一个access数据库如下结构
主键 姓名 年龄
1 张三 30
2 李四 40
3 王五 50
新建foxtable项目,并将这个数据库引入foxtable外部表,
设置表名为“表1”
在命令窗口执行以下代码:
Dim TB as table = tables("表1")
Dim irow as integer = TB.FindRow("[姓名] = '汪峰'")
if irow <0 then
irow = TB.addnew.index
End if
messagebox.show(irow)
with TB
.value(irow,0) = "4"
.value(irow,1) = "汪峰"
.value(irow,2) = "45"
.save
END WITH
1、执行第一次,我观察到的情况是,表1第4行赋值了,但是行号显示为空。
2、执行第一次,弹出对话框为-1,执行第二次还是-1,无论执行多少次都是-1,按道理应该第二次执行弹出3
3、我发现在表里面用鼠标点击一下其他行,这一行的行号立即显示,我实在没办法,在.save前面加了一行代码.select(irow-1,0),竟然好了。
想知道是为什么,是不是版本问题,还是我差一行确认将数据传递到数据库的代码。
请指教。