delphi里用java_如何在整个Delphi应用程序中使用ID
一種方法是將DataModule添加到項目中,并使 UserID 為其中的一個字段 .
所以,使用Delphi的默認命名,你會有
type
TDataModule1 = class(TDataModule)
[...]
public
property UserID : Integer read FUserID;
end;
[...]
var
DataModule1 : TDataModule1;
然后,將TDataModule1添加到項目使用的db-access組件中,例如用于訪問存儲用戶詳細信息的Users表的Query組件,以及嘗試登錄給定用戶的方法,以及db-access組件使用的類型的db-connection組件 . 所以你可以添加這樣的方法:
function TDataModule1.LogInUser(const UserName : String) : Boolean;
begin
try
if qUsers.Active then
qUsers.Close;
FUserID := -1; // deliberately set an invalid UserID
Assert(Trim(UserName) <> '')); // raise exception if UserName is blank
// qUsers Sql.Text property would be something like 'select * from users where username = :username'
qUsers.ParamByName(UserName).Value := UserName;
qUsers.Open;
if qUsers.Locate('UserName', UserName, []) then
FUserID := qUsers.FieldByName('UserID').AsInteger;
finally
Result := FUserID >= 0; // assuming zero is a valid UserID
end;
end;
并以 DataModule1u 的名稱保存模塊 . 請注意,此方法省略了對默認 True 值的用戶's password: This is because if you leave your db connection component' s LoginPrompt 屬性的任何引用,它將在 LogInUser 方法執行時彈出用戶密碼的提示 .
一旦你've got that far, go to your Login form'單位并編輯它為USE DataModule1u .
然后你可以添加代碼來使用 LogInUser 方法,如下所示:
if DataModule1.LogInUser(UserName) then begin
Caption := 'User: ' + IntToStr(DataModule1.UserID);
// do something else with DataModule1.UserID's value
end;
顯然,您可以(并且通常應該)將所有數據庫訪問組件添加到數據模塊中,并在執行db-access的表單中使用它 .
希望這一切都清楚,如果不是那么問 .
總結
以上是生活随笔為你收集整理的delphi里用java_如何在整个Delphi应用程序中使用ID的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: mysql的varchar最大值是多少_
- 下一篇: java图遍历求最长路径_如何在Java