如何把RICHEDIT中带格式的内容保存到MS SQL数据的字段中?在线等待!
比如我从WORD中COPY一个带格式的内容,它有表格等信息。那么,我要如何才能将这些信息保存到数据库中,又如何将字段中数据读出并显示在RICHEDIT中呢?

解决方案 »

  1.   

    MEMO来连接该字段。
    Get: Memo.Text := FieldByName('FieldName').AsString;
    Set: FieldByName('FieldName').Value := Memo.Text ;
      

  2.   

    楼上的朋友 ,能否说清楚一些呢?
    如何实现。还有,我是用RICHEDIT控件的,不用MEMO控件。
      

  3.   


    RichEdit.PlainText:=False;
    然后把
    RichEdit.Text的内容当做字符串保存到数据库,或者用Blob字段保存也可以!
      

  4.   

    //从数据库加载
    var
      l_Stream: TStringStream;
    begin
      l_Stream := TStringStream.Create(FieldByName('fieldname').asstring);
      richedit1.Lines.LoadFromStream(l_Stream);
    end;
    //保存到数据库
    var  l_Stream: TStringStream;
    begin    
        l_Stream := TStringStream.Create('');
        Editor.Lines.SaveToStream(l_Stream);
        FieldByName('fieldname').value := l_Stream.DataString;end;
      

  5.   

    字段设为image类型,后面的跟 fengqingwanzhong(风情万种) 相似。如果TStringStream类型不行可以试试TMemoryStream。
      

  6.   

    首先谢谢:fengqingwanzhong(风情万种) ,
    用你的方法是可以保存和读取,但读出来的内容不是我当初存进去的内容.为何读出来后总是同一个字符呢?就是{  这个字符呢?
    我把程序也贴出来:
    procedure TForm1.Button1Click(Sender: TObject);
    //保存到数据库
    var  l_Stream: TStringStream;
    begin
        l_Stream := TStringStream.Create(RichEdit1.Text);
        RichEdit1.Lines.SaveToStream(l_Stream);
         //此程序为修改记录
       with DataModule2.ADOQuery1 do
         begin
           close;
           sql.clear;
           sql.add('insert into doctable (doc)');
           sql.add('values (:vn)');
           Parameters.ParamByName('vn').Value:=l_Stream.DataString;          //客户号
           prepared;
           execsql;
         end;end;procedure TForm1.Button2Click(Sender: TObject);
    //从数据库加载
    var
      l_Stream: TStringStream;
    begin     with DataModule2.ADOQuery1 do
         begin
           close;
           sql.clear;
           sql.add('select * from doctable ');
           open;
           l_Stream := TStringStream.Create(FieldByName('doc').asstring);
          end;     richedit1.Lines.LoadFromStream(l_Stream);
    end;