问个关于变量赋值的问题

lingbo_wx 2005-12-16 01:18:01
Dim a,b
a=06
b=05

if a>b then
b=a
end if

这样有没有可能出现一次b的值还是05而没有把a赋给它
...全文
121 16 打赏 收藏 转发到动态 举报
写回复
用AI写文章
16 条回复
切换为时间正序
请发表友善的回复…
发表回复
lingbo_wx 2005-12-16
  • 打赏
  • 举报
回复
又发现我们的开发和测试环境没这个问题,一到线上就偶尔发生这种问题
weiweiplay 2005-12-16
  • 打赏
  • 举报
回复
那就不知道了,你调试一下吧

if a>b then
debug.print b
b=a
debug.print b
debug.print c
c=d
debug.print c
end if
lingbo_wx 2005-12-16
  • 打赏
  • 举报
回复
我只要因为a的值代表业务状态,只要a的值大于b了,就做同步,如果相等就不做
读数据没有trim

但是>号做了而且a的值赋过去也是对的,就是d的值还是上一状态对应的值
weiweiplay 2005-12-16
  • 打赏
  • 举报
回复
不可能的,你取数据的时候TRIM了吗?你能确定A一直大于B吗?
if a>b then?

if a<>b then?
lingbo_wx 2005-12-16
  • 打赏
  • 举报
回复
weiweiplay(虚幻)

不会出现这个问题,DTS作业调度一天两次,都是休息时间
而且同步的时候a的值是对的,d的值是老的。

做业务的时候只有a改变d才会改变

曾经有一次也是DTS我用一个变量赋值数据库操作语句

Sqltext="select "

执行完
我又用
Sqltext="select"
当然这两天语句不一样

所以现在怀疑是不在在DTS里会出现这种赋值没赋上的问题
weiweiplay 2005-12-16
  • 打赏
  • 举报
回复
赋值是不会错的,我觉得可能是你在同步的时候,业务同时也在做操作,这样的话你读出的数据有可能在你同步之后又发生变化
lingbo_wx 2005-12-16
  • 打赏
  • 举报
回复
在说明一下,两个相同的表在不同的库里,数据要求一致,所以用到同步
tab1 有a,d字段被上面的a,d读出
tab2 有b,c字段被上面的d,c读出
业务是在tab1那个上做的,所以每天必须同步数据到tab2里
但是现在发现a的值同步正确,d的值还是原来的c
所以怀疑是赋值出问题
不是所以的都这样的,很少出现一次
lingbo_wx 2005-12-16
  • 打赏
  • 举报
回复
psDTS的同步时间大概在7-8分钟,数据大概几千条
lingbo_wx 2005-12-16
  • 打赏
  • 举报
回复
或者程序这样
dim a,b,c,d
a="06"
b="05"
c="02"
d="03"
if a>b then
b=a
c=d
end if
请问这样赋值会不会不成功,还保持原来的值。
我是DTS里这样写的,数据有些问题,排除了很多问题,归结到这里
当中a,b,c,d都是从数据库读出来的值
weiweiplay 2005-12-16
  • 打赏
  • 举报
回复
应该不会不成功,除非你的字符串写错了,前后或中间有空格是不一样的
weiweiplay 2005-12-16
  • 打赏
  • 举报
回复
字符串也可以比大小,“06”比“05”大
lingbo_wx 2005-12-16
  • 打赏
  • 举报
回复
楼上此言差异,不要想当然,请打开你的vb测试一下
我现在只想知道,那样赋值有没有可能哪一次把赋成功,b仍然是05
bbhere 2005-12-16
  • 打赏
  • 举报
回复
既然是字符串,那怎么比较大小
楼主,看好了先
lingbo_wx 2005-12-16
  • 打赏
  • 举报
回复
对是
a = "06"
b = "05"

那有没有可能出现一次赋值不成功,还是原来的值
officecn 2005-12-16
  • 打赏
  • 举报
回复
不可能.
weiweiplay 2005-12-16
  • 打赏
  • 举报
回复
a=06
b=05

怎么会有这个东西?

要不就是
a = 6
b = 5

a = "06"
b = "05"

7,759

社区成员

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

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