我的数据库中有一个字段内记载的是分析的结果,结果分别为,含水,含油,含水油,含有水,油,水,六中结果现在要在数据库中心插入一列,将分析结果转化为数字,对应的解释结果变成1,2,3,4,5,6, 请问如何实现 用adoquery 数据库为access数据库
解决方案 »
- 关于Socket多线程接收的问题~
- 文件传输的网上的一段代码???
- EXCEL,WORD都提供了一个COM接口可以访问EXCEL,WORD的功能,如创建文件,写数据等等.请问各位可以从哪里找到关于这个COM接口编程的详细资料,
- 请教各位高手,该学好VB还是Delphi好啊?北京那边做软件技术支持好找吗?
- 在输入法里人工造词的问题!
- 簡單的socket問題
- delphi DLL使用两个PCHAR参数出错
- 菜虫SOS!Delphi窗口问题。先答对者赠分
- 谁见过扑克牌(牌面图案)控件或资源??
- 请问在Delphi中启动一个应用程序的函数是什么?
- Dll里窗体的DBGrid焦点获取的问题!
- dcom 没有注册类别 非一般
function GetValueByName(name:string):integer;
begin
if name='含水' then
result:=1 else
if name='含油' then
result:=2 else
if name='含水油' then
result:=3 else
if name='含有水' then
result:=4 else
if name='油' then
result:=5 else
if name='水' then
result:=6;
end;procedure TForm1.Button2Click(Sender: TObject);
var
i:integer;
s:string;
begin
ADOQuery1.First;
for i:=0 to ADOQuery1.RecordCount-1 do
begin
s:=ADOQuery1.FieldByName('你要分析的那个字段名').AsString;
ADOQuery1.Edit;
ADOQuery1.FieldByName('你插入的那一列的字段名').AsInteger:=GetValueByName(s);
ADOQuery1.Post;
end;
end;
procedure TForm1.Button2Click(Sender: TObject);
var
i:integer;
s:string;
begin
ADOQuery1.First;
while not ADOQuery1.Eof do
///!!for i:=0 to ADOQuery1.RecordCount-1 do
begin
s:=ADOQuery1.FieldByName('你要分析的那个字段名').AsString;
ADOQuery1.Edit;
ADOQuery1.FieldByName('你插入的那一列的字段名').AsInteger:=GetValueByName(s);
ADOQuery1.Post;
ADOQuery1.Next;
end;
end;
var
sl:TStringList;
str:string;
i:Integer;
begin
sl:=TStringList.Create;
sl.Add('含水');
sl.Add('含油');
...
str:='含水';//你取的值
i:=sl.IndexOf(str)+1;//i即为你要转换的值
//用Case也可以
case sl.IndexOf(str) of
0: i:=你要赋予的值;
1:....
end;
1 含水
2 含油
3 含水油
4 含有水
5 油
6 水
参考楼上各位的吧
SELECT .... IIF(A='含水',1,IIF(A='含油',2,IIF(....)))
ADOQuery1.Close;
ADOQuery1.SQL.Text := 'select * from 表名 where ....';//SQL语句打开表就可以