!!急急: 一个三层的程序,db:oralce, 客户端clientdataset在进行filter汉字时,总是报错EDBClient with message"type mismatch in e

flyingfox_1979 2003-12-19 02:50:21
我想对一些数据进行filter, 字段类型为widestring,在输入汉字时过滤,结果出错。这是什么原因?
...全文
45 5 打赏 收藏 举报
写回复
5 条回复
切换为时间正序
当前发帖距今超过3年,不再开放新的回复
发表回复
qiume 2003-12-19
if FieldCount > 4 then begin
Filter := Filter + ' and ' + Fields[4].FieldName + ' = 0 ';
end;
/// 如果 Fields[4] 是字符型就会出错
  • 打赏
  • 举报
回复
flyingfox_1979 2003-12-19
在线等,急啊
  • 打赏
  • 举报
回复
flyingfox_1979 2003-12-19
该段filter代码如下,帮忙分析:
{******************************************************************************}
{ 过滤 }
{******************************************************************************}
procedure TSysLookupFM.BtnFilterClick(Sender: TObject);
begin
EdtFilter.SetFocus;
with FField.LookupDataSet do begin
Filtered := False;
Filter := '';
if Trim(EdtFilter.Text) <> '' then begin
Filter := '(';
Filter := Filter + Fields[1].FieldName + ' like ' + QuotedStr(Trim(EdtFilter.Text) + '%');
Filter := Filter + ' or ' + Fields[1].FieldName + ' like ' + QuotedStr('%' + Trim(EdtFilter.Text) + '%');
Filter := Filter + ' or ' + Fields[1].FieldName + ' like ' + QuotedStr('%' + Trim(EdtFilter.Text));
Filter := Filter + ')';
if FieldCount > 4 then begin
Filter := Filter + ' and ' + Fields[4].FieldName + ' = 0 ';
end;
end else begin
if FieldCount > 4 then begin
Filter := Fields[4].FieldName + ' = 0 ';
end;
end;
Filtered := True;
BtnYes.Enabled := not IsEmpty;
end;
end;
  • 打赏
  • 举报
回复
soaringsouth 2003-12-19
在汉字字符串加上quotedstr().估计是少引号
  • 打赏
  • 举报
回复
rocker1218 2003-12-19
把你的程序挂出来,让大家看看,才能对症下药吗!
  • 打赏
  • 举报
回复
相关推荐
发帖
数据库相关

2476

社区成员

Delphi 数据库相关
社区管理员
  • 数据库相关社区
加入社区
帖子事件
创建了帖子
2003-12-19 02:50
社区公告
暂无公告