VerySource

 找回密码
 立即注册
搜索
热搜: 活动 交友 discuz
查看: 2628|回复: 11

关于 between and~~~~~~~~`

[复制链接]

1

主题

6

帖子

5.00

积分

新手上路

Rank: 1

积分
5.00
发表于 2020-1-15 23:20:01 | 显示全部楼层 |阅读模式
第一句
adoquery1.sql.add('update daa074 set skqk=''kasjhd'' where daa074.elsyds between daa091.jdds2 and daa091.jdds2');
第二句
adoquery1.sql.add('update daa074 set skqk=''kasjhd'' where daa074.elsyds between 1 and 1000');

如果我象第一句 那样写就出错
如果象第二句 那样写 就可以更新成功 为什么?应该怎么写??????

daa074,daa091 是dbf表

回复

使用道具 举报

0

主题

17

帖子

16.00

积分

新手上路

Rank: 1

积分
16.00
发表于 2020-1-19 22:27:01 | 显示全部楼层
adoquery1.sql.add('update daa074 set skqk=''kasjhd'' where daa074.elsyds between daa091.jdds2 and daa091.jdds2');

and 前后不都是daa091.jdds2
回复

使用道具 举报

1

主题

6

帖子

5.00

积分

新手上路

Rank: 1

积分
5.00
 楼主| 发表于 2020-1-20 11:54:02 | 显示全部楼层
前面是 jdds1
回复

使用道具 举报

1

主题

6

帖子

5.00

积分

新手上路

Rank: 1

积分
5.00
 楼主| 发表于 2020-1-20 12:18:01 | 显示全部楼层
程序里没有写错
回复

使用道具 举报

3

主题

10

帖子

11.00

积分

新手上路

Rank: 1

积分
11.00
发表于 2020-1-20 19:09:01 | 显示全部楼层
BETWEEN begin_expression AND end_expression

between里要求是一个值,而不能为字段或别的什么东西   而且begin_expression 和 end_expression类型要一致
回复

使用道具 举报

0

主题

17

帖子

16.00

积分

新手上路

Rank: 1

积分
16.00
发表于 2020-1-20 19:36:01 | 显示全部楼层
错误信息是什么?
daa091.jdds1,daa091.jdds2是什么型的
回复

使用道具 举报

1

主题

6

帖子

5.00

积分

新手上路

Rank: 1

积分
5.00
 楼主| 发表于 2020-1-23 18:00:02 | 显示全部楼层
错误信息:
[Microsoft][ODBC Visual FoxPro Driver]Command contains unrecognized phrase/keyword'

他俩的类型是一样的啊
在 vf表里 都是 数值型的
回复

使用道具 举报

1

主题

6

帖子

5.00

积分

新手上路

Rank: 1

积分
5.00
 楼主| 发表于 2020-1-23 19:27:01 | 显示全部楼层
adoquery1.sql.add('update daa074 set skqk=(SELECT ''kasjhd'' from daa074 a,daa091 b  where a.elsyds between b.jdds1 and b.jdds2)');
要是这样更新 会出现这样的错误
'[Microsoft][ODBC Visual FoxPro Driver]Function name is missing )'
回复

使用道具 举报

3

主题

10

帖子

11.00

积分

新手上路

Rank: 1

积分
11.00
发表于 2020-1-23 22:36:01 | 显示全部楼层
BETWEEN begin_expression AND end_expression

不是BETWEEN  AND 的错误, 是你这句SQL语句错了  你可以换成  where  a>1 and a<100这样的试下,VF没用过  


daa091.jdds1,daa091.jdds2  应该是字段吧,不能是字段的,而应该是明确的一个值
回复

使用道具 举报

1

主题

6

帖子

5.00

积分

新手上路

Rank: 1

积分
5.00
 楼主| 发表于 2020-1-24 07:00:02 | 显示全部楼层
daa091.jdds1,daa091.jdds2
是字段

where  a>1 and a<100 这样也不行啊

我想完成的是这样的
我在daa074里添加一个字段skqk

然后更新值
在 daa074里有个字段elsyds  如果在daa091.jdds1,daa091.jdds2这俩个字段之间 skqk的值就写I,不在就为空,
因为我要一条一条的记录比较 不能固定范围 所以要 取 那俩个字段了

不这样实现还有更好的方法
帮帮我吧  
回复

使用道具 举报

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

本版积分规则

Archiver|手机版|CopyRight © 2008-2023|verysource.com ( 京ICP备17048824号-1 )

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