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

TmemoField的用法,您会吗?该如何处理

2012-02-22 
TmemoField的用法,您会吗?请问有人知道TmemoField的具体用法吗?我想用它来实现写入备注型字段值,我用的是d

TmemoField的用法,您会吗?
请问有人知道TmemoField的具体用法吗?

我想用它来实现写入备注型字段值,我用的是delphi7+access   2003.  
可不可以贴个示范代码啊?

我的代码如下,帮忙看看为什么会出问题啊,无法执行,报内存保护错.

memo_field:=TmemoField.Create(self);
    memo_field.BlobType:=ftMemo;
    memo_field.FieldName:= 'memo ';
    memo_field.LoadFromFile(ExtractFilePath(Application.ExeName)   +   'message\temp.txt ');
    ADOQuery2.Parameters.ParamByName( 'h ').Value:=memo_field.Value;

    //   last   edited   at   2007-3-7
    ADOQuery2.ExecSQL;
    ADOQuery2.Close;

数据库连接,变量声明等都没有问题,可是为什么上面的代码要出错呢?   各位高手有没有关于TmemoField的使用示范代码啊?   谢谢了!

[解决办法]
如果你是想读一个文本文件进来,那是不能把文本文件本身作为参数代入到SQL语句里


1)读文本文件可以用TStringList来读
2)写入数据库应该是

AdoQuery.Sql.Text := 'select h from sample where sampleid=2 ';
adoquery.open;
adoquery.Edit
adoquery.FieldbyName( 'h ').AsString := myStrings.text;
adoQuery.Post;
adoQuery.BatchUpdate;

要强调一下,就是上面这样的
adoquery.FieldbyName( 'h ').AsString := myStrings.text;只能是MEMO型,如果是其他如二进制数据就不行.

[解决办法]
TMemoField不与DataSet关连独立使用,还真没想过。

你看Field都有个DataSet属性, 表示该Field属于哪个数据集, 还有FullName属性, 表示与数据表的哪个字段关连,这样对Field对象进行LoadFromFile,就是将文件内容保存到数据直接保存到了表中, 当然还少不了DataSet.Post操作。

你这样一个独立的Field对象,不好用的吧。
[解决办法]
不知道你的SQL语句怎么写的,不过,你将整个文件的内容作为 Parameter,不妥吧,难道文件只有一行?
[解决办法]
你需要的大概是这个
(ADOQuery2.FieldByName( 'memo ') as TMemoField).LoadFromFile( 'xxx.txt ');

热点排行