我需要確定一個創建的表是否包含條目。檢查一個表是否爲空(MSAccess數據庫+ Delphi)
我需要的是,
if (TableIsEmpty) then
do_something
else
do_something_else;
我已經爲宗旨寫爲:
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;
但這個函數返回無關的表的狀態真!
編輯*** 修改代碼:
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;
此函數總是返回false!
可以發出餐桌上的SQL選擇「SELECT COUNT(1)從表名」,看看它有多少記錄返回? –
您錯過了將Adotable設置爲活動狀態,因此您將始終成爲現實。順便說一句,使用ADOTable1.ConnectionString是沒有必要的,如果你使用ADOTable1.Connection – bummi
我得到的結果爲真不假。@ bummi。 – Priyabrata