检查表是否为空(MSAccess Database + Delphi)

时间:2022-06-14 05:59:07

I need to findout whether a created table has entries in it or not.

我需要找出创建的表是否包含条目。

What I need is,

我需要的是,

if (TableIsEmpty) then
     do_something
else
     do_something_else;

What I've written for the purpose is :

我为此目的写的是:

Function IsTableEmpty:Boolean;
Var
  DataSource : string;
Begin
  DataSource :=
     'Provider=Microsoft.Jet.OLEDB.4.0'+
     ';Data Source=c:\mydb.mdb'+
     ';Persist Security Info=False';

  Form2.ADOConnection1.ConnectionString := DataSource;
  Form2.ADOConnection1.LoginPrompt := False;
  Form2.ADOCommand1.Connection := Form2.ADOConnection1;
  Form2.ADOTable1.ConnectionString := DataSource;
  Form2.ADOTable1.Connection := Form2.ADOConnection1;
  if (Form2.ADOTable1.IsEmpty)then
      result := true
  else
      result := false;
End;

But this function returns true irrespective of status of the table!

但是无论表的状态如何,此函数都返回true!

EDIT*** Modified Code :

编辑***修改代码:

Function IsTableEmpty:Boolean;
Var
  DataSource, cs : string;
Begin
  DataSource :=
     'Provider=Microsoft.Jet.OLEDB.4.0'+
     ';Data Source=c:\Users.mdb'+
     ';Persist Security Info=False';

  Form2.ADOConnection1.ConnectionString := DataSource;
  Form2.ADOConnection1.LoginPrompt := False;
  Form2.ADOCommand1.Connection := Form2.ADOConnection1;
  Form2.ADOTable1.Connection := Form2.ADOConnection1;
  Form2.ADOTable1.TableName := 'userIdentification';
  Form2.ADOTable1.Active := True;
  cs := 'Select * from userIdentification';
  Form2.ADOCommand1.CommandText := cs;
  Form2.ADOCommand1.Execute;
  if Form2.ADOTable1.RecordCount <= 0 then
     result := true
  else
     result := false;
  Form2.ADOConnection1.Close;
End;

This function always returns false!!

这个函数总是返回false !!

1 个解决方案

#1


5  

if Form2.ADOTable1.RecordCount =< 0 then
     do_something
else
     do_something_else;

Run this after a successfully executed select statement

在成功执行select语句后运行此命令

#1


5  

if Form2.ADOTable1.RecordCount =< 0 then
     do_something
else
     do_something_else;

Run this after a successfully executed select statement

在成功执行select语句后运行此命令