先插入一列,然后使用下面的代码 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;
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语句打开表就可以