一种方法是将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相关推荐

  1. Delphi for iOS开发指南(14):在iOS应用程序中使用InterBase ToGo

    在开始这篇教程之前,你应该预先阅读并按下面教程实际操作过: •iOS开发指南(9):在iOS应用程序中使用ListBox组件来显示TableView 这篇教程描述了在iOS Device上,通过dbE ...

  2. java web里实现 mvc_MVC模式在Java Web应用程序中的实现

    一.MVC简介: MVC架构是一个复杂的架构,其实现也显得非常复杂..Views可以看作一棵树,可以用Composite Pattern来实现.Views和Models之间的关系可以Observer  ...

  3. 微信开发修改button里的字体大小_在微信小程序中如何修改文字大小

    这篇文章主要介绍了微信小程序实现点击按钮修改文字大小功能,涉及微信小程序事件绑定及setData动态修改Page页面data数据,进而控制页面元素属性动态改变的相关操作技巧,需要的朋友可以参考下 本文 ...

  4. glade java_如何在Java Gnome / GTK程序中使用Glade UI(.glade文件)?

    我在互联网上做了一项研究,寻找教程/文档来解释如何在Java Gnome项目中使用Glade中设计的UI,但没有运气.我已经知道如何使用Java Gnome / GTK从代码创建UI.无论如何,我想使 ...

  5. wadl 生成java_在Spring MVC REST应用程序中自动生成WADL

    wadl 生成java 上一次我们学习了WADL的基础知识 . 语言本身并没有那么有趣,只写了一篇有关它的文章,但是本文的标题揭示了为什么我们需要这些知识. JSR 311的许多实现:JAX-RS:R ...

  6. 500分求助,delphi里用standred来配置dbf文件

    500分求助,delphi里用standred来配置dbf文件 Delphi / Windows SDK/API http://www.delphi2007.net/DelphiDB/html/del ...

  7. Delphi创建COM组件并分别用Delphi和html调用该组件的简单实例

    一.功能介绍及效果图 用delphi xe6 创建一个简单的COM组件,并分别测试了用delphi和HTML调用该组件的方法ShowWuXiaNames.效果图如下: 图一:在Windows中注册的C ...

  8. Delphi 7 在程序中直接执行SQL脚本文件

    Delphi 7 在程序中直接执行SQL脚本文件 在处理MSDE一些操作中.需要执行一些SQL脚本.有的是从 SQLServer 2000中生成的SQL为后缀的脚本.在MSDE中没有企业管理器, 操作 ...

  9. 在Delphi程序中操作注册表

    32位Delphi程序中可利用TRegistry对象来存取注册表文件中的信息. 一.创建和释放TRegistry对象 1.创建TRegistry对象.为了操作注册表,要创建一个TRegistry对象: ...

最新文章

  1. QQ群管理员无法进行成员管理问题的解决
  2. 96. (GO)不同的二叉搜索树
  3. 【算法】Dijkstra算法(单源最短路径问题) 邻接矩阵和邻接表实现
  4. centos中使用python遇到的几个问题
  5. 汽车电子专业知识篇(六十三)-继电器的结构、工作原理、检测方法
  6. 让IE支持HTML5
  7. 【华为敏捷/DevOps实践】5. 如何避免DevOps变革的六大“焦油坑”
  8. 一个人的生活可以简约到什么程度?
  9. leetcode python3 简单题118. Pascal's Triangle
  10. python入门100例题-Python入门100例题
  11. MaxScale 2.5
  12. 加拿大卡尔加里推出数字货币以促进当地经济发展
  13. Pluralistic Image Completion—多元图像补全—摘要翻译—测试教程(附源码)——CVPR 2019
  14. 个人计算机架构和相关的设备组件
  15. ESXi-Customizer-PS 命令详解
  16. 【题解】2020年蓝桥杯C/C++程序设计B组·试题 D: REPEAT 程序
  17. linux添加防护墙规则rc.local,Linux环境下iptables防火墙基本用法演示
  18. 什么是AUTOSAR规范?
  19. web编程(三)显示html网页
  20. php留言板在数据库没有ip,关于php:如何连接数据库(未知主机,无IP)

热门文章

  1. ajax 入参为list_ajax传递给后台数组参数方式
  2. idea2021如何开启RunDashboard
  3. idea(一)使用详解
  4. volatile关键字——保证并发编程中的可见性、有序性
  5. 《You Only Look Once: Unified, Real-Time Object Detection》YOLO一种实时目标检测方法 阅读笔记(未完成版)
  6. 数据库查询近七天的数据
  7. C++【“using namespace std”的意思、#include “iostream“与#include < iostream>区别、< iostream>与< iostream.h>区别】
  8. Android 加载GIF图最佳实践
  9. 去重数组里面重复数据
  10. 排序算法——(1)简介