关于李颖控件使用问题(50分)

  • 主题发起人 主题发起人 acjin
  • 开始时间 开始时间
A

acjin

Unregistered / Unconfirmed
GUEST, unregistred user!
我在用李颖的控件备份SQLSERVER数据库时,为什么会有这个错误:
“Table does not exist,
file or directory does not exist。
file:D:/delphi/dbo.sysobjects.db”
“d:/delphi/”是程序所在的目录,以下是备份相关代码,请各位帮帮忙!!
with form1.BDEDBBackup1 do
begin
tables.Clear;
conditions.Clear;
GetTableNames(tables,'*.*',true,true);
for I:=0 to tables.Count-1 do
begin
Conditions.Add('');
end;
FileName:='D:/db.dat';
try
Backup;
except
showmessage('出错!');
end;
 
错误出现在哪一行??
 
出错的地方:

//写表数目
WriteInteger(Stream, Tables.Count);
for I := 0 to Tables.Count - 1 do
begin
// 备份表
WriteTable(Tables, Conditions);

[red] if Assigned(OnDBProgress) then //这句出错[/red]
OnDBProgress('', I + 1, Tables.Count);
Application.ProcessMessages;
if not Active then Exit;
end;
 
知道原因的大虾,请帮帮忙!!!
 
把你的程序中的:
GetTableNames(tables,'*.*',true,true);
改为:
GetTableNames(tables,'*.*',false,false);
 
没有用
我试过,如果在database1的databasename属性上加一个与备份数据库名字一样的文字
就可以进行备份了
可是我的程序中的数据库名是可变的
而且如果随便输入一个名字,备份时,会提示那个别名不存在
 
我想可能是我可能在某些方面遗漏了
你可以给我一个从连接到备份的例子吗(只要连接SQLSERVER就行)?
控件里面带的那个太复杂,来个简单点的,呵呵
EMAI:skyno@sohu.com
qq:11027175
 
好想此控件总是把两个形如“sysobjects”(具体我记不清了)的文件加入备份列表中,
你可以人为去掉如,
if not pos('sysob',TStringlist.strings)>0 then
....... ;
这样就可以不加上这两个假名了。
我是这样来备份的。
如果我对你的问题没有分析错,这样就一定能邦你解决问题。


 
To DEN
这样也没用
你们用TDatabase连接SQLSERVER的时候,是怎么连接的?
 
>>我试过,如果在database1的databasename属性上加一个与备份数据库名字一样的文字
>>就可以进行备份了
>>可是我的程序中的数据库名是可变的
>>而且如果随便输入一个名字,备份时,会提示那个别名不存在
知道的朋友快来啊!!!
 
多人接受答案了。
 

Similar threads

S
回复
0
查看
3K
SUNSTONE的Delphi笔记
S
S
回复
0
查看
2K
SUNSTONE的Delphi笔记
S
后退
顶部