标题:Visual FoxPro中有一列Xbm,值是男或者女,如何让男变成01,女变成02
只看楼主
sdta
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
来 自:江苏省连云港市
等 级:版主
威 望:323
帖 子:9621
专家分:26174
注 册:2012-2-5
得分:0 
select iif(alltrim(性别)=="男","01","02") 性别 from 表

坚守VFP最后的阵地
2015-01-07 12:52
taifu945
Rank: 12Rank: 12Rank: 12
等 级:贵宾
威 望:80
帖 子:1545
专家分:3298
注 册:2012-7-6
得分:4 
以下是引用piaomiaoyuwu在2015-1-7 11:23:04的发言:

我是在vfp中用sql,如果用vfp,replace就能实现了,我是想试试vfp中输入sql语句,第一个select就是输入sql
在VFP中直接修改网络数据库的数据,可以用SPT方法。步骤如下(以Oracle为例,SQL Server可参考):

1、建立ODBC,具体过程略去;

2、在VFP中建立对网络数据库的连接。可用命令“OrclHandle=SQLSTRINGCONNECT("DSN=AAA;UID=CCC;PWD=123;DBQ=ORCL;DBA=W;APA=T;EXC=F;FEN=T;QTO=T;FRC=10;FDL=10;LOB=T;RST=T;BTD=F;BNF=F;BAM=IfAllSuccessful;NUM=NLS;DPM=F;MTS=T;MDI=F;CSR=F;FWC=F;FBS=64000;TLO=O;MLD=0;ODA=F;")”,红色部分对应ODBC中的Data Source Name;橙色部分对应ODBC中的User ID;绿色部分就是网络数据库的连接密码了。如果你觉得命令太复杂,可以新建一个数据库,用建立连接的向导来生成该命令的主体;

3、把命令内容赋予一个字符串变量。如:Command1="Update 表名 SET Xbm='1' WHERE Xbm='男'"。做这一步的目的是为了后面真正执行的命令看上去更简洁。另外,特别注意数据库系统对字符串的引用方法。因为Oracle是单引号引用,所以,整个命令的外面可以用双引号或方括号引起。若网络数据库只能用双引号,那么命令外围就用单引号或方括号;

4、执行命令。可用命令“SQLEXEC(OrclHandle,Command1)”;

5、执行完命令后不要忘记关闭连接。可用命令“SQLDISCONNECT(OrclHandle)”。

    其中,蓝色的变量中存储的是连接号。连接成功,返回一个大于0的值,如果是第一次连接,则是1;如果是第二次连接相同目标(即第一次连接后没有断开连接),则是2,以此类推;若连接不成功,则为-1。
    至于要不要提交,我在Oracle测试下来的结果是:只要成功执行了Update,则会自动提交该命令所产生的修改,不需要提交命令,不知道SQL Server中是如何处理的。


[ 本帖最后由 taifu945 于 2015-1-7 19:49 编辑 ]
2015-01-07 19:47
喜笑颜开
Rank: 1
等 级:新手上路
帖 子:4
专家分:0
注 册:2013-8-18
得分:0 
学习 学习
2015-04-10 10:55
asdf_123000
Rank: 4
等 级:业余侠客
威 望:1
帖 子:262
专家分:203
注 册:2012-12-20
得分:0 
学习
2015-04-10 17:38
ILoveVFD
Rank: 3Rank: 3
等 级:论坛游侠
威 望:3
帖 子:218
专家分:147
注 册:2015-5-2
得分:0 
学习 学习
2015-05-02 17:10



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-440792-1-1.html




关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.022475 second(s), 7 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved