1、我在Access数据库中的字段都有中文标题,请问如何读出?
比如字段名:rq,标题是‘日期’,我用adodataset读:
adodataset1.commandtext:='select rq from A';
adodataset1.open;
showmessage(adodataset1.fields[0].displaylabel);
结果显示还是'rq',而不是我想要的'日期'
请问如何读出Access表中的标题?2、在VFP中的Brow语句中有一个很好用的功能,计算结果,比如我有A,B,C
3个字段,其中C是A*B的结果,在vfp中我可以写成:
brow a,b:v=kkk(),c
........
function kkk()
repl c with a*b
endfun
当输入了b字段回车后,就会自动把a*b的值填充到c中,
在SQL的SELECT语句中有没有实现这种功能的用法?
比如字段名:rq,标题是‘日期’,我用adodataset读:
adodataset1.commandtext:='select rq from A';
adodataset1.open;
showmessage(adodataset1.fields[0].displaylabel);
结果显示还是'rq',而不是我想要的'日期'
请问如何读出Access表中的标题?2、在VFP中的Brow语句中有一个很好用的功能,计算结果,比如我有A,B,C
3个字段,其中C是A*B的结果,在vfp中我可以写成:
brow a,b:v=kkk(),c
........
function kkk()
repl c with a*b
endfun
当输入了b字段回车后,就会自动把a*b的值填充到c中,
在SQL的SELECT语句中有没有实现这种功能的用法?
自己写个过程 遇到“rq”的转换成“日期”
2.select a,b,a*b as c form 表名
得到的c是个计算字段,不是数据表中的字段。
而且,在vfp我所写的brow例子中,只要b字段
不更新,不会触发修改c字段的内容。
http://blog.csdn.net/jiangsheng/archive/2004/03/15/3799.aspx
http://www.blogcn.com/User3/jiangsheng/index.html?id=1275772&run=.0F8ED5D
2 可以用触发器来做冗余计算字段,但是我不知道VFP是否支持
这一句输出的结果肯定是rq了
它输出的上数据表中的字段
你只有自己定义了
if adodataset1.fields[0].displaylabel='rq' then
showmessage('日期');
set c = a*bselect a,b ,c from table
select rq as 日期 from ...
后,要是我要对rq字段进行计算,比如我下面
todayis:=rq; 能不能用
或者是要写成:
todayis:=日期
请告知!
我自己做了一个笨方法,写了一个过程:
procedure ColumnsTitle(DBGrid:TDBGrid;DataSource:TDataSource);
const
EFieldTitle1='rq......zh......zqdm....zqmc....cz......gs......dj......cjje....ckje....bz......czh.....';
CFieldTitle2='日期 帐号 证券代码证券名称操作 成交股数成交价 成交金额参考金额备注 帐户名称';
var
s:widestring;
i,j:Integer;
begin
for i:=0 to DBGrid.Columns.Count-1 do
begin
j:=pos(DBGrid.Columns[i].Title.Caption,EFieldTitle1);
if j>0 then
s:=copy(CFieldTitle2,j,8);
DBGrid.Columns[i].Title.Caption:=s;
end;
end;