德尔福7
SQLServer2000服务器
代码如下。用于连接的连接字符串为。
Provider=SQLOLEDB.1;Password=toflidium;Persist Security Info=True;User ID=sa;Initial Catalog=DocManager;Data Source=DELPHIBOX;Use Procedure for Prepare=1;Auto Translate=True;Packet Size=4096;Workstation ID=DELPHIBOX;Use Encryption for Data=False;Tag with column collation when possible=False
测试用例的整个代码
unit Unit1;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, Grids, DBGrids, ADODB, DB, StdCtrls, DBCtrls;
type
TForm1 = class(TForm)
ADOConnection1: TADOConnection;
ADOQuery1: TADOQuery;
Edit1: TEdit;
Button1: TButton;
DBText1: TDBText;
DBText2: TDBText;
DBText3: TDBText;
DataSource1: TDataSource;
ADOTable1: TADOTable;
DataSource2: TDataSource;
DBGrid1: TDBGrid;
ADOQuery1DocumentDataID: TAutoIncField;
ADOQuery1VersionID: TIntegerField;
ADOQuery1DocName: TStringField;
ADOQuery1ActualDoc: TMemoField;
procedure Button1Click(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
var
Form1: TForm1;
implementation
{$R *.dfm}
procedure TForm1.Button1Click(Sender: TObject);
var
sql : string;
begin
sql := 'Select Top 1 * from tblDocumentData where VersionID = ' + ADOTable1.FieldByName('VersionID').asstring ;
ADOQuery1.Close;
ADOQuery1.SQL.Text := sql;
ADOQuery1.Open;
TBlobField(ADOQuery1.FieldByName('ActualDoc')).SaveToFile('c:\temp\temp\myfile'
+ ADOTable1.FieldByName('VersionID').asstring + '.doc');
end;
end.
这是写入dis的整个文件
ÃÃà ¡±á
我应该收到一份2万到5万字的文件。
我重建了一台完整的机器,以查看我的开发人员机器上是否出现了错误,重建时也遇到了同样的问题。如果我只是建立并尝试对实时数据库,我有同样的问题,但较旧的版本(现在约4岁)的工作正常。
有什么想法吗?