请帮我看这个代码》总是出现Not enough actual parameters错误(50分)

  • 主题发起人 主题发起人 wyic
  • 开始时间 开始时间
W

wyic

Unregistered / Unconfirmed
GUEST, unregistred user!
我用想用getalltables来取得数据库的所有表名,但总出现 Not enough actual parameters错误
procedure TDynamicSql.getalltables(var vtables: OleVariant);
var
tbllist : Tstringlist;
icount : Integer;
begin
try
tbllist:= Tstringlist.create;
ADOCDSQL.GetTableNames(tbllist);
vtables:=VarArrayCreate.([0, tbllist.count-1], varVariant);
for icount:=0 to tbllist.count-1 do
begin
vtables[icount]:=tbllist.strings[icount];
end;
finally
tbllist.free;
end;
end;
 
李维的书上有例子的,好好看看吗,如果不行就看帮助
 
看了,做不出来,就是出现这个错误
 
你的gettablenames函数确实少了一个参数
函数原型:
procedure GetTableNames(List: TStrings; SystemTables: Boolean = False);
后一个参数表示返回的表名是否保含系统表。
 
现在多设了一个false,出现一样的错误,没有解决
 
to yfdciom:那是一个有默认值的参数,可以不加

to wyic
你看看清楚是哪一行出错了。
 
procedure TSQLConnection.GetTableNames(List: TStrings; SystemTables: Boolean = False);
procedure TADOConnection.GetTableNames(List: TStrings; SystemTables: Boolean = False);
procedure TDatabase.GetTableNames(List: TStrings; SystemTables: Boolean = False);
procedure TSession.GetTableNames(const DatabaseName, Pattern: String; Extensions, SystemTables: Boolean; List: TStrings);

看你使用的那个。
 
vtables:=VarArrayCreate.([0, tbllist.count-1], varVariant);
你的这句话有错误,知道吗?
把VarArrayCreate后面的那个点去掉,一切OK!
老弟,编程要细心
 
接受答案了.
 

Similar threads

后退
顶部