表中创建了一个“用户类型”字段CHAR(10),填入了“管理员”名称,但用
case QUERY1.FIELDBYNAME('用户类型').value of
管理员:执行语句一;
管理员2:执行语句二;
end;
就是这个语句经常报错,究竟怎样才能把当前记录的字段值能和下面字符串执行成功??
case QUERY1.FIELDBYNAME('用户类型').value of
管理员:执行语句一;
管理员2:执行语句二;
end;
就是这个语句经常报错,究竟怎样才能把当前记录的字段值能和下面字符串执行成功??
where selectorExpression is any expression of an ordinal type (string types are invalid) and each caseList is one of the following:
你会看到这一句:string types are invalid。也就是在case..of的结构中不能用string类型。
XXX:执行语句一;
end;這裏的XXX只能是INTEGER或BOOLEN
mUserType:Variant;
begin
mUserType:=QUERY1.FIELDBYNAME('用户类型').value;
if mUserType=管理员 then 执行语句一
else if mUserType=管理员2 then 执行语句二
end;
mUserType:Variant;
begin
mUserType:=QUERY1.FIELDBYNAME('用户类型').AsVariant; //這樣寫較好, 盡量少用.Value!!!!
if mUserType=管理员 then 执行语句一
else if mUserType=管理员2 then 执行语句二
end;
比如輸入'xxx', 那麼在數據庫內生成'xxx ',後面多了7個空格!!
因改成Varchar(10)!!!否則每次讀QUERY1.FIELDBYNAME('用户类型').AsString都要加上
Trim(QUERY1.FIELDBYNAME('用户类型').AsInteger)!!!!var
mUserType:string;
begin
mUserType:=QUERY1.FIELDBYNAME('用户类型').Asstring; <<<<<<!!!!!!!這里根本不要用Value 或Variant類型讀數據, 因為本身知道它是string類型!!