这是一个最基本的常识问题,Case 中的条件不能是字符串,只能是有序类型,如Integer、Boolean、Char等,字符串和实型都不行的,你那个Combobox.text绝对是个字符串,行不通的,改呀:)----------------------------------
风过西窗客渡舟船无觅处
年年一川新草遥看却似旧
风过西窗客渡舟船无觅处
年年一川新草遥看却似旧
解决方案 »
- 请教:CXGRID中如何一启动程序就默认自动选中某一行?
- 安装Delphi7.0问题出现了问题 求助大家~
- 请教,动态数组用完后需要手动释放吗?
- 如何从服务器上自动下载最新版本的软件?
- ███【★】███ 忍痛割爱---公开转让大型成熟P2P系统代码(包括成熟的消息收发,文件发送,搜索,共享,下载,语音聊天,视频聊天等),绝对重
- 如何绘制Rectangle和Ellipse倾斜角度,不使用多点逼近方式
- 关于程序打包!
- 一個搞笑的問題
- 请问一个Delphi 中 ADO 参数的小问题!请大家多多观照!谢谢!
- 强行中止并关闭程序的问题(50分)
- 我问问是否能在DELPHI中实现两个数据表的字段合并到入第三个数据表中!
- 组件设计基础问题
上面说的好好的case的条件只能是有序类型
指针和字符串都不行
then
begin
case combobox11.Items.Index of //报错,ordinal type required
0:frm_rytj.ADOQuery1.SQL.Add('and 职工编号> :c');
1:frm_rytj.ADOQuery1.SQL.Add('and 职工编号= :c');
2:frm_rytj.ADOQuery1.SQL.Add('and 职工编号< :c');
//报错,incompatiable type:'integer'and'string'
frm_rytj.ADOQuery1.Parameters.ParamByName ('c').Value:=edit3.Text;
end;
0:frm_rytj.ADOQuery1.SQL.Add('and 职工编号> :c');
1:frm_rytj.ADOQuery1.SQL.Add('and 职工编号= :c');
2:frm_rytj.ADOQuery1.SQL.Add('and 职工编号< :c');
......
then
begin
case combobox11.itemindex of //报错,ordinal type required
0:frm_rytj.ADOQuery1.SQL.Add('and 职工编号> :c');
1:frm_rytj.ADOQuery1.SQL.Add('and 职工编号= :c');
2:frm_rytj.ADOQuery1.SQL.Add('and 职工编号< :c');
//报错,incompatiable type:'integer'and'string'
frm_rytj.ADOQuery1.Parameters.ParamByName ('c').Value:=edit3.Text;
end;
然后在Case 中可以使用
case xxx.ItemIndex of
0:...;
1:...;
2:...;
end;