txt文档存取数据库(200)

  • 主题发起人 zxy666666
  • 开始时间
Z

zxy666666

Unregistered / Unconfirmed
GUEST, unregistred user!
大家好!请问怎样将某个txt文档写入数据库的某个字段(字段用什么类型?),又怎样读出?请高手提点给个代码,谢谢!这里指的文档是指文档的内容,而不是路径。谢谢!注:数据库用MYSQL或Paradox都行
 
既然是txt文档就没有太多的限制,关键看你的文档有多大,如果不大的话就用VARCHAR,否则试试TEXT(MYSQL数据库),存取的话就像一般地字符串一样(如果内容很多可能麻烦点儿),你自己可以试试先把文件加载到Memo中,然后 Insert Into .... Values(''' + Memo1.Text + ''', ...)',祝你好远。
 
同意落上的你可以用流方式读取出来再保存到相应的数据字段
 
JC不懂,您好!请问怎么用流方式读取(代码怎么写啊)?谢谢!
 
定义一个 text 的字段类型就行了,下面的代码供参考procedure TfrmText.Button3Click(Sender: TObject);var str : WideString; ss:TStringStream; i : integer;begin str := 'sstrstrststrstrststrstrstrsttrstrstrrstrstr'; for i := 1 to 10000 do begin str := str + 'sstrstrststrstrststrstrstrsttrstrstrrstrstr'; //43万多个字节 end; str := str + 'E'; ss := TStringStream.Create(str); //bm:=TBitmap.Create; //bm.Assign(image1.Picture.Bitmap); //bm.SaveToStream(ms); with DataMConn.ADOQHistory do begin Close; SQL.Clear; SQL.Add('INSERT INTO tPackage(PackageID,TempPackage) VALUES:)x,:y)'); Parameters.ParamByName('y').LoadFromStream(ss,ftMemo); Parameters.ParamByName('x').Value := 'aaaaa'; ExecSQL; end;end;//read text to a TDBMemoprocedure TfrmText.Button4Click(Sender: TObject);var stream : TStream; str : WideString;begin with DataMConn.ADOQHistory do begin Close; SQL.Clear; SQL.Add('SELECT TempPackage FROM tPackage WHERE packageID= ''aaaaa'''); Open; if not IsEmpty then begin Stream := DataMConn.ADOQHistory.CreateBlobStream(FieldByName('TempPackage'),bmRead); stream.Position := 0; AMemo.Lines.LoadFromStream(stream); stream.Free; end; end;end;
 
多人接受答案了。
 
顶部