首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > .NET > .NET >

case语句解决方案

2012-04-06 
case语句varleixing:string调用数据库adoquery1.Closeadoquery1.SQL.ClearADOQuery1.sql.add(select *

case语句
var
leixing:string
调用数据库
adoquery1.Close;
adoquery1.SQL.Clear;
ADOQuery1.sql.add('select * from 表1 where id="1"');
ADOQuery1.Active:=true;
leixing1:=adoquery1.fieldbyname('数据1').AsString;
case leixing of
  '00':leixing:='long';
  '01':leixing:='short01';
  '02':leixing:='short02';
  '03':leixing:='short03';
  '04':leixing:='short04';
  '05':leixing:='short05';
else
begin
end
end;
报错,错误为
[Error] Unit2.pas(316): Ordinal type required
[Error] Unit2.pas(317): Incompatible types: 'Integer' and 'String'
[Error] Unit2.pas(318): Incompatible types: 'Integer' and 'String'
[Error] Unit2.pas(319): Incompatible types: 'Integer' and 'String'
[Error] Unit2.pas(320): Incompatible types: 'Integer' and 'String'
[Error] Unit2.pas(321): Incompatible types: 'Integer' and 'String'
[Error] Unit2.pas(322): Incompatible types: 'Integer' and 'String'
[Fatal Error] Project1.dpr(6): Could not compile used unit 'Unit2.pas'
用if then 语句可以,但if语句书写过多,请问怎样使用case语句

[解决办法]
case不能用字符串
case strtoint(leixing) of
0:
1:
...........
[解决办法]
没见过case 条件用字符串的

用integer;
[解决办法]
case leixing of 

除非你这些字符串用枚举定义了。

因为使用case 的条件必须是 有顺序的

热点排行