我使用adodataset 动态创建表,并插入一条数据,用savetofile保存为adtg格式的文件,代码如下
var
ADODSET:TADODataSet;
sno:string;
... ADODSET := TADODataSet.Create(Self);
ADODSET.CommandType := cmdFile;
adodset.commandtext :='sys.adtg';
ADODSET.Close;
ADODSET.FieldDefs.Clear;
ADODSET.FieldDefs.Add('id', ftString,10,True);
ADODSET.FieldDefs.Add('UserName', ftString,50,True);
ADODSET.FieldDefs.Add('PassWord', ftString,50,true);
ADODSET.FieldDefs.Add('LTD', ftString,10,True);
ADODSET.FieldDefs.Add('sno', ftString,200,true);
adodset.CreateDataSet; sno := '1111111' ;
adodset.Append;
adodset.FieldByName('UserName').AsString := cxTextEdit1.text;
adodset.FieldByName('PassWord').AsString := transfer(cxTextEdit3.text);
adodset.FieldByName('LTD').AsString := '0';
if cxComboBox1.ItemIndex = 1 then
adodset.FieldByName('LTD').AsString := '1';
adodset.FieldByName('sno').AsString := sno;
adodset.Post;
adodset.SaveToFile(filename,pfADTG);为什么到了“adodset.SaveToFile(filename,pfADTG);”出错?
错误信息:OLE error 80030050
var
ADODSET:TADODataSet;
sno:string;
... ADODSET := TADODataSet.Create(Self);
ADODSET.CommandType := cmdFile;
adodset.commandtext :='sys.adtg';
ADODSET.Close;
ADODSET.FieldDefs.Clear;
ADODSET.FieldDefs.Add('id', ftString,10,True);
ADODSET.FieldDefs.Add('UserName', ftString,50,True);
ADODSET.FieldDefs.Add('PassWord', ftString,50,true);
ADODSET.FieldDefs.Add('LTD', ftString,10,True);
ADODSET.FieldDefs.Add('sno', ftString,200,true);
adodset.CreateDataSet; sno := '1111111' ;
adodset.Append;
adodset.FieldByName('UserName').AsString := cxTextEdit1.text;
adodset.FieldByName('PassWord').AsString := transfer(cxTextEdit3.text);
adodset.FieldByName('LTD').AsString := '0';
if cxComboBox1.ItemIndex = 1 then
adodset.FieldByName('LTD').AsString := '1';
adodset.FieldByName('sno').AsString := sno;
adodset.Post;
adodset.SaveToFile(filename,pfADTG);为什么到了“adodset.SaveToFile(filename,pfADTG);”出错?
错误信息:OLE error 80030050
解决方案 »
- 各位朋友大家好,有个问题想询问下大家,请大家帮忙解决下。
- taobao购物,差点被骗,在此写出以防大家上当。
- 邮件地址搜索
- 心情靓散分
- 我在fastreport中用A3大小设计的,但打印是若是选择A4,就只能打印一部分,怎么才能自适应呢?多谢 ̄
- 高手请进!!!!
- corba的问题
- setparent后,拖动窗口,父窗体卡死,急!
- 请教:quickreport 做成一个报表(横线和竖线都是用qrshape画的),但打印多页时,最后一页没有数据的空白处还是有横线和竖线,有什么办法消除掉。
- 各位师兄:哪里可以下载讲Delphi6多层结构的教材?很急!!!!
- DBgridEh 倒出RTF 乱码 的问题
- 今天登陆CSDN,验证码88888,第一次遇到,散分,呵呵.....
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls, Buttons, DB, ADODB,DBClient, Grids, DBGrids;type
TForm1 = class(TForm)
BitBtn1: TBitBtn;
ADODataSet1: TADODataSet;
DataSource1: TDataSource;
DBGrid1: TDBGrid;
procedure BitBtn1Click(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;var
Form1: TForm1;implementation{$R *.dfm}procedure TForm1.BitBtn1Click(Sender: TObject);
var ADataSet:TDataSet;
function CreateTableInMemory(const AFieldDefs:TFieldDefs):TDataSet;
var TempTable:TClientDataSet;
begin
TempTable:=nil;
Result:=nil;
if AFieldDefs<>nil then
begin
try
TempTable:=TClientDataSet.Create(Application);
TempTable.FieldDefs.Assign(AFieldDefs);
TempTable.CreateDataSet;
Result:=(TempTable as TDataSet);
Except
if TempTable<>nil then TempTable.Free;
Result:=nil;
raise;
end;
end;
end;
begin
ADataSet:=TDataSet.Create(Self);
with ADataSet.FieldDefs do
begin
Add('Name',ftString,30,False);
Add('Value',ftInteger,0,False);
end;
with DataSource1 do
begin
DataSet:=CreateTableInMemory(ADataSet.FieldDefs);
DataSet.Open;
DataSet.Append;
DataSet.FieldByName( 'Name' ).AsString:='111';
DataSet.FieldByName( 'Value' ).AsInteger:=1;
DataSet.Post;
TClientDataSet(DataSet).SaveToFile( 'c:\123.txt' );
end;
ADataSet.Free;
end;end.