起步软件技术论坛-X3

 找回密码
 立即注册
搜索
查看: 133|回复: 6

【结】[][问题]**

[复制链接]
发表于 2009-4-1 16:53:05 | 显示全部楼层 |阅读模式
你好。我想问一下DataSetBrokerStock.DataSet.Locate('product_code;cannibalizeCode',Variants.VarArrayOf([code,nil]),[])
函数locate是否有缺陷,因为用这个语句locate的时候,有时候并没有找到数据,其实数据集里是有的,这种情况出现的几率很小,但是还是发生了。
在线等。谢谢。
回复

使用道具 举报

发表于 2009-4-1 17:11:55 | 显示全部楼层
你这个nil就有问题,因为你在实际数据里面很难区分null和''
回复 支持 反对

使用道具 举报

 楼主| 发表于 2009-4-1 17:26:41 | 显示全部楼层
谢谢
但是nil代表的那个字段,这个是保障在物理数据库中是null,这个问题不用担心。
那我该怎么写呢。
回复 支持 反对

使用道具 举报

发表于 2009-4-1 17:29:27 | 显示全部楼层
你试试''吧。null这个最好不要用这个判断,很多地方都很难处理的。比如sql语句里面用起来就很怪
回复 支持 反对

使用道具 举报

 楼主| 发表于 2009-4-1 17:35:35 | 显示全部楼层
我们用的是sqlserver数据库,如果某个字段是空,在数据库中就是NULL,这个可以看出来的。
比如 :物理数据库中有这样一个数据记录
code   cancode
——————
01        NULL
——————
是不是我用locate('code;cancode',Variants.VarArrayOf([code,nil]),[])就有可能找不到。
谢谢你的解答,CTO Lee。
回复 支持 反对

使用道具 举报

 楼主| 发表于 2009-4-1 17:50:08 | 显示全部楼层
再确认一个问题吧
我在循环中每次locate的时候,是不是每次都是从数据集的第一条开始查找呢,
还是 比如说:我第一次locate时定位第三条记录,第二次locate时就从第三条记录开始往后查找,如果没有找到,又从第一条开始呢。
回复 支持 反对

使用道具 举报

 楼主| 发表于 2009-4-1 18:02:22 | 显示全部楼层
还是结贴吧  谢谢
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Justep Inc.

GMT+8, 2025-7-23 03:01 , Processed in 0.042506 second(s), 15 queries .

Powered by Discuz! X3.4

© 2001-2017 Comsenz Inc.

快速回复 返回顶部 返回列表