当前位置: 首页> 教育> 就业 > 个人网页html_企业网站设计总结_整合营销策划方案模板_指数型基金是什么意思

个人网页html_企业网站设计总结_整合营销策划方案模板_指数型基金是什么意思

时间:2025/7/10 17:33:10来源:https://blog.csdn.net/caridle/article/details/143494263 浏览次数:0次
个人网页html_企业网站设计总结_整合营销策划方案模板_指数型基金是什么意思

使用存储过程获取员工项目分配(IBX 通用教程)

在这一部分中,您将构建一个表单,使用存储过程来查找员工的项目。创建这个表单的过程与您在“审计工资变更”中遵循的步骤非常相似,特别是因为您将再次使用“DmCSDemo” TDataModule。您将添加一些数据库组件,这与“审计工资变更”中的表单不同。

1. 创建表单

首先,向项目中添加另一个 VCL 表单。在项目管理器中,右键单击项目并点击菜单项“添加新建 > VCL 表单”。

调整新表单的属性:

  • 将 Caption 设置为“员工项目分配”。
  • 将 Name 设置为“FrmQueryProc”。
  • 将表单的 Height 改为 370,Width 组件改为 380。
  • 将 OldCreateOrder 设置为 true。

保存表单:对于 Delphi,将文件保存为 Frmqrysp.pas。
在此表单中使用 TDataModule:对于 Delphi,在 Frmqrysp.pas 的实现部分开头添加以下行:uses DmCSDemo;

2. 添加数据库组件

添加一个 TDataSource 组件以获取 EMPLOYEE 表的信息。从下拉菜单中将 DataSet 设置为“DmEmployee.EmployeeTable”。请注意,此数据集由“DmCSDemo” TDataModule 提供。将 Name 改为“EmployeeSource”。

添加一个 TIBQuery 以使用 SQL 语句访问数据库表。

  • 将 Name 改为“EmployeeProjectsQuery”。
  • 从下拉菜单中将 Database 设置为“DmEmployee.EmployeeDatabase”。
  • 如果需要,从下拉菜单中将 Transaction 设置为“DmEmployee.IBTransaction1”。
  • 通过点击此属性的省略号 (...) 按钮,显示 CommandText Editor 对话框来设置 SQL 属性。在对话框的 SQL 窗格中输入以下行:

Select * from Get_Emp_Proj( :EMP_NO )

这段 SQL 代码调用存储过程 Get_Emp_Proj,它返回包含给定员工编号所有项目的 dataset。

  • 添加另一个 TDataSource。将 Name 改为“EmployeeProjectsSource”。将 DataSet 设置为“EmployeeProjectsQuery”。此 TDataSource 作为 TIBQuery 和您将在下一节添加的 TDBGrid 数据感知控件之间的接口。

3. 添加可视组件

在表单底部添加一个 TStatusBar。您将使用它来显示当前选定员工项目的相关信息。勾选 SimplePanel 为 true。
按下图所示添加三个 TPanel 组件。这些 TPanel 提供了一个框架,用于定位可视组件。调整它们以填满表单的区域,除了 TStatusBar。
 

在“Panel1”上添加一个 TDBNavigator 以导航数据库记录。从下拉菜单中将 DataSource 设置为“DmEmployee.EmployeeSource”。此数据源由 TDataModule 提供。在 VisibleButtons 属性下,勾选所有按钮。将 ShowHint 设置为 true,以便显示 TDBNavigator 工具按钮的提示。
在“Panel1”的右侧放置一个 TBitBtn。设置以下属性:

  • 将 Caption 设置为“E&xit”,这样按 ALT+x 就相当于点击按钮。
  • 从下拉菜单中将 Kind 设置为“bkClose”。此设置使按钮在点击 TBitBtn 时执行关闭对话框的命令。
  • 在“Panel2”上放置一个 TDBGrid。调整大小以填满 TPanel。从下拉菜单中将 DataSource 设置为“EmployeeSource”。

在“Panel3”上放置另一个 TDBGrid。调整大小以填满 TPanel。从下拉菜单中将 DataSource 设置为“EmployeeProjectsSource”。TIBQuery 中的 SQL 查询获取包含给定员工编号所有项目的 dataset。“EmployeeProjectsSource” TDataSource 使 TIBQuery 的 dataset 可供 TDBGrid 使用。

4. 添加事件处理程序和其他代码

通过添加一个例程和创建三个事件处理程序来完成表单。您不需要为 TBitBtn 添加事件处理程序,因为这个按钮已经与点击它关联了一个命令。

添加一个 WriteMsg 例程,在 TStatusBar 中显示消息。

在 Frmqrysp.pas 的类型部分的私有部分添加以下过程:

         procedure WriteMsg( strWrite : String );
您可以通过按 CTRL-SHIFT-C 使用类补全在实现部分创建此函数的存根。

为新过程添加以下代码:

procedure TFrmQueryProc.WriteMsg(StrWrite: String);
begin
  StatusBar1.SimpleText := StrWrite;
end;
接下来,为“EmployeeSource” TDataSource 组件创建一个事件处理程序。在设计选项卡中选择“EmployeeSource” TDataSource,然后在对象检查器中双击 OnDataChange 事件。这个事件处理程序跟踪顶部 TDBGrid 中当前选定的员工,并更新 TStatusBar 和底部 TDBGrid。为事件处理程序添加以下代码:

procedure TFrmQueryProc.EmployeeSourceDataChange(Sender: TObject;Field: TField);
begin{ 执行 ProjectsQuery,它使用查询过程 }EmployeeProjectsQuery.Close;EmployeeProjectsQuery.Params[0].AsInteger :=DmEmployee.EmployeeTable.FieldByName('EMP_NO').AsInteger;EmployeeProjectsQuery.Open;WriteMsg('Employee ' + DmEmployee.EmployeeTable.FieldByName('EMP_NO').AsInteger +' is assigned to ' + IntToStr(EmployeeProjectsQuery.RecordCount) +' project(s).');
end;

最后,为表单本身编写两个事件处理程序。在设计选项卡中选择表单。在对象检查器中双击 OnShow 事件以创建事件的框架代码。添加以下代码:

procedure TFrmQueryProc.FormShow(Sender: TObject);
beginDmEmployee.EmployeeTable.Open;{ 允许从 EmployeeTable 流向本地 EmployeeSource 的数据流。这将允许 DataChange 事件执行查询过程 }EmployeeSource.Enabled := True;{ 显式查询准备不是必需的,但可以提供最佳性能 }with EmployeeProjectsQuery do if not Active then Prepare;
end;

当表单仍然被选中时,在对象检查器中双击 OnHide 事件以创建此事件的代码存根。修改存根如下:

procedure TFrmQueryProc.FormHide(Sender: TObject);
begin{ 为我们的表单关闭 DataChange 事件,因为 DmEmployee.EmployeeTable在其他地方使用 }EmployeeSource.Enabled := False;
end;

这完成了表单的构建。

5. 显示表单

修改在“创建主表单”中创建的主表单。在该表单上添加一个按钮以显示您刚刚创建的员工项目表单。

在 Frmmain.pas 的实现部分开头的 uses 子句中添加额外的一行,以便主表单知道您刚刚添加的 FrmQrySP 单元:

uses
   FrmQrySP,   { 查询存储过程示例 }
   FrmTrigg,   { 触发器示例 }
   FrmViews;   { 查看示例 }
 

在 Frmmain 表单上添加另一个 TButton,类似于在“创建主表单”中添加的 TButton。将 TButton.Caption 设置为“&查询存储过程示例”。将 TButton.Name 设置为“BtnQrySP”。然后通过在 Frmmain 表单的设计选项卡中双击该 TButton 添加新按钮的事件处理程序。使用以下代码作为事件处理程序:


procedure TFrmLauncher.BtnQrySPClick(Sender: TObject);
begin
  FrmQueryProc.ShowModal;
end;
 

6. 运行应用程序

构建并运行应用程序。主表单显示:


点击新的“查询存储过程示例” TButton 以显示新表单:


顶部的 TDBGrid 显示数据库中的 EMPLOYEE 表。TStatusBar 显示当前选定员工没有项目。底部的 TDBGrid 除了字段名称 PROJ_ID 外不显示其他数据,因为员工没有项目。如果您选择了有项目的员工,您将看到:

EmpProjAssignWithProjects.png


底部的 TDBGrid 显示 TIBQuery 的 SQL 命令返回的数据集:包含给定员工编号的所有项目的 dataset。TStatusBar 显示员工的项目数量。

这完成了本项目。您可以根据 RAD Studio 安装的 CsDemos 示例的指导扩展它。
 

关键字:个人网页html_企业网站设计总结_整合营销策划方案模板_指数型基金是什么意思

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com

责任编辑: