如何存储SQLserver中text型的内容?
具说text类型的字段每次最多存4K的文件,
一个大于4K的文件要分多次存入,
如何操作?

解决方案 »

  1.   

    换成Image类型,可以存入更大的文件
    Image属于Blob类型(Binary Large Objects ,大型二进制对象),其读写规则如下:写入Blob字段:  
     
    Query.SQL.Clear;  
    Query.Sql.Add('INSERT INTO 表名 (...,Blob字段名,...) VALUES (...,:PBlob,...)');  
    Query.ParamByName(Blob)).LoadFromStream(Stream);  
    //用方法LoadFromFile() 可以直接把文件数据写入数据库  
    Query.SQL.ExecSQL;  
     
    读出Blob字段:  
                 
    Query.Close;  
    Query.SQL.Clear;  
    Query.SQL.Add('SELECT  ...,Blob字段名,...  FROM  表名  WHERE  ...');  
    Query.Open;  
    TBlobField(Query.SQL.FieldByName(Blob字段名)).SaveToStream(Stream);  
      //或(Query.FieldByName(Blob字段名)  as  TBlobFiedl).SaveToStream(Stream);  
      //或Stream=TBlobFieldStream.Create(TBlobField(Query.SQL.FieldByName(Blob字段名)),bmRead);  
      //保存到文件用SaveToFile(文件名)  
      

  2.   

    >>Query.ParamByName(Blob)).LoadFromStream(Stream);  
    应改为
    Query.ParamByName('PBlob').LoadFromStream(Stream);