You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何点击用户ID/ID Održ/姓名时在另一表单显示其姓名(Delphi+MySQL)

Delphi + MySQL 实现点击列表行在另一表单显示用户信息

1. 数据库基础准备

确保你的用户表(假设表名为users)包含id、id_odrz、first_name、last_name这些字段,先编写基础查询SQL用于加载用户列表:

SELECT id, id_odrz, first_name, last_name FROM users;

2. Delphi界面组件配置

  • 主表单:使用FDQuery(或TADOQuery,根据你用的组件库)连接MySQL,将其与TDBGrid绑定,用于展示用户列表;同时配置FDConnection组件,填写MySQL的地址、用户名、密码、数据库名,确保连接正常。
  • 子表单:添加两个TLabel(或TEdit),命名为lblFirstName、lblLastName,用于显示选中用户的名字和姓氏。

3. 点击事件核心逻辑

在主表单TDBGrid的OnCellClick事件中编写代码,实现点击任意列时传递用户信息到子表单:

procedure TMainForm.DBGrid1CellClick(Column: TColumn);
var
  UserInfoForm: TUserInfoForm;
begin
  // 判断当前是否有选中的有效数据行
  if not FDQuery1.Active or FDQuery1.IsEmpty then Exit;

  // 实例化子表单(若已存在则直接更新内容)
  if not Assigned(UserInfoForm) then
    UserInfoForm := TUserInfoForm.Create(nil);
  
  // 从当前选中行提取名字和姓氏,赋值给子表单控件
  UserInfoForm.lblFirstName.Caption := FDQuery1.FieldByName('first_name').AsString;
  UserInfoForm.lblLastName.Caption := FDQuery1.FieldByName('last_name').AsString;
  UserInfoForm.Show;
end;

4. 额外注意事项

  • 主表单的FDQuery需设置SQL属性为第一步的查询语句,在表单启动时调用FDQuery1.Open加载数据。
  • 如果涉及两个数据库表的关联查询(比如用户表和其他关联表),可修改SQL为关联查询形式,示例:
SELECT u.id, u.id_odrz, u.first_name, u.last_name 
FROM users u
JOIN 关联表名 ON u.id = 关联表名.user_id;

内容的提问来源于stack exchange,提问作者Notz

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.19 14:55:21