数据集怎么样才能过滤memo类型字段呢,求指教 ClientDtSet_1.Filter:='工程名称='+quotedstr('data_block_1'); ClientDtSet_1.Filtered :=true;工程名称字段为memo类型 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 可以在OnFilterRecord事件里处理begin if DataSet.FieldByName('工程名称').AsString=Edit1.Text then Accept:=true else Accept:=false; end; 你这个Edit1.text是我过滤的字符吗?关键一设置过滤字段,就报类型不匹配啊,还没到你这个事件里面啊 你这个Edit1.text是我过滤的字符吗?关键一设置过滤字段,就报类型不匹配啊,还没到你这个事件里面啊前提当然是去除原先的过滤写法了 procedure TForm1.RzButton5Click(Sender: TObject);begin // ClientDtSet_1.Filter:='工程名称='+quotedstr('data_block_1'); ClientDtSet_1.Filtered :=true;end;procedure TForm1.ClientDtSet_1FilterRecord(DataSet: TDataSet; var Accept: Boolean);begin if (DataSet.FieldByName('工程名称').AsString=quotedstr('data_block_1')) then Accept :=true else Accept :=false;end;执行上面的代码,我发现在该事件,跳转到的是Accept=false;执行的结果是这是MEMO字段的显示方法procedure TForm1.ClientDtSet_1Field2GetText(Sender: TField; var Text: String; DisplayText: Boolean);begin Text:=Sender.AsString; DisplayText :=true;end;procedure TForm1.ClientDtSet_1Field2SetText(Sender: TField; const Text: String);begin Sender.AsString :=Text;end; 你好,这是原程序的代码地址http://download.csdn.net/detail/wangwei244157887/7237619试验用的是ACCESS,实际是Sqlite,用你的方法试验没成功 看你的程序,既然Sender.AsString都能显示,没理由有问题。为什么不trace一下这行代码??DataSet.FieldByName('工程名称').AsString=quotedstr('data_block_1')为什么需要quotedstr??其实这里已经不需要了... 看你的程序,既然Sender.AsString都能显示,没理由有问题。为什么不trace一下这行代码??DataSet.FieldByName('工程名称').AsString=quotedstr('data_block_1')为什么需要quotedstr??其实这里已经不需要了...恩,太谢谢了,为什么用你这种方法可以,而直接写Filter属性却不可以呢?求指教 看你的程序,既然Sender.AsString都能显示,没理由有问题。为什么不trace一下这行代码??DataSet.FieldByName('工程名称').AsString=quotedstr('data_block_1')为什么需要quotedstr??其实这里已经不需要了...恩,太谢谢了,为什么用你这种方法可以,而直接写Filter属性却不可以呢?求指教因为Memo字段,控件无法确定存储的内容,无法统一像AsString来使用;所以控件内部会提示类型匹配问题。 看你的程序,既然Sender.AsString都能显示,没理由有问题。为什么不trace一下这行代码??DataSet.FieldByName('工程名称').AsString=quotedstr('data_block_1')为什么需要quotedstr??其实这里已经不需要了...恩,太谢谢了,为什么用你这种方法可以,而直接写Filter属性却不可以呢?求指教因为Memo字段,控件无法确定存储的内容,无法统一像AsString来使用;所以控件内部会提示类型匹配问题。虽然不怎么明白,但是感觉有点类似于一个字段设置为Integer类型,但是我们也可以像是用ASString方法一样,进行强制转换,对吗? 关于用Tprocedure类型做参数的两个问题 带参数启动程序 关于form的调用问题?? 分数凑个整数. 高难度问题!!!!!! 请问,如何改变状态栏任意一panel的背景色? 各位大哥,小妹请教!关于msagent 在delphi中Project问题,急 liulin(liulin) 在不在~~~~~~~~~~给我发程序啊,,,//cry 帮俺找人给20分以吧?嘿嘿 请问我的panel面板为何在设计时可见,运行后便看不到面板及上面的内容了? EXE中调用融合DLL窗体,DLL窗体问题问题。 解决了 记录一下。 求教,delphi编写ocx掉用c的DLL的问题
if DataSet.FieldByName('工程名称').AsString=Edit1.Text then
Accept:=true
else
Accept:=false;
end;
前提当然是去除原先的过滤写法了
procedure TForm1.RzButton5Click(Sender: TObject);
begin
// ClientDtSet_1.Filter:='工程名称='+quotedstr('data_block_1');
ClientDtSet_1.Filtered :=true;
end;procedure TForm1.ClientDtSet_1FilterRecord(DataSet: TDataSet;
var Accept: Boolean);
begin
if (DataSet.FieldByName('工程名称').AsString=quotedstr('data_block_1')) then
Accept :=true
else
Accept :=false;
end;执行上面的代码,我发现在该事件,跳转到的是Accept=false;
执行的结果是这是MEMO字段的显示方法procedure TForm1.ClientDtSet_1Field2GetText(Sender: TField;
var Text: String; DisplayText: Boolean);
begin
Text:=Sender.AsString;
DisplayText :=true;
end;procedure TForm1.ClientDtSet_1Field2SetText(Sender: TField;
const Text: String);
begin
Sender.AsString :=Text;
end;
试验用的是ACCESS,实际是Sqlite,用你的方法试验没成功
为什么需要quotedstr??其实这里已经不需要了...
为什么需要quotedstr??其实这里已经不需要了...
恩,太谢谢了,为什么用你这种方法可以,而直接写Filter属性却不可以呢?求指教
为什么需要quotedstr??其实这里已经不需要了...
恩,太谢谢了,为什么用你这种方法可以,而直接写Filter属性却不可以呢?求指教
因为Memo字段,控件无法确定存储的内容,无法统一像AsString来使用;所以控件内部会提示类型匹配问题。
为什么需要quotedstr??其实这里已经不需要了...
恩,太谢谢了,为什么用你这种方法可以,而直接写Filter属性却不可以呢?求指教
因为Memo字段,控件无法确定存储的内容,无法统一像AsString来使用;所以控件内部会提示类型匹配问题。
虽然不怎么明白,但是感觉有点类似于一个字段设置为Integer类型,但是我们也可以像是用ASString方法一样,进行强制转换,对吗?