如何对数据库的memo字段进行读和写!(50分)

  • 主题发起人 主题发起人 sh0
  • 开始时间 开始时间
S

sh0

Unregistered / Unconfirmed
GUEST, unregistred user!
如何对数据库的memo字段进行读和写!举例!谢谢!
 
用AsString进行读取和赋值。
 
Read Memo Field:

TQuery.SQL.Text := 'select memo_field from my_table';
TQuery.Open;
if not TQuery.Eof then begin
Memo1.Assign(TQuery.Fields[0].AsMemo);
end;

Write Memo:

TQuery.SQL.Text := 'update my_table set memo_field = :memo_field';
TQuery.ParamByName('memo_field').AsMemo.Assign(Memo1);
TQuery.ExecSQL;

 
直接用一个DBMemo联到DataBase,然后用它的来更新数据。
 
billy的方法好简单。
 
to walkdan:
你的方法我试了试
但是
TQuery.ParamByName('memo_field').AsMemo.Assign(Memo1);编译通不过
[Error] Unit1.pas(49): Record, object or class type required

改成
query1.ParamByName('f2').asMemo;
query1.ParamByName('f2').Assign(memo1);
运行时又出错:
can't assign a TMemo to a TParam

 
有那么复杂吗?我是这么用的:
Read: Memo1.Lines.Text := table1.fieldbyName('blob1').AsString
Write:
table1.edit;
table1.fieldbyName('blob1').AsString := Memo1.Lines.Text;
table1.post

 
在语句中写:

SStr:='abcdefg';

Table1.edit;

Table1.fieldByName('Memo_field').AsString:=SStr;

Table1.refresh;

不想写就用一个DBMemo控件与'Memo_field'相连就可以了。
 
接受答案了.
 
后退
顶部