初学存储过程,搞不懂

wfn 2005-03-31 01:12:48
数据库端SQL2000中建有一数据库:人事管理系统库,含员工表(工号,姓名,部门...)和工资表(工号,年份,月份,基本工资...),现在想在客户端查询某年某月某部门某人的工资数据.数据库端的存储过程怎么写,还有客户端是不是用DbGrid1 DataSource1 AdoStoredProc1. 把查询结果显示到DbGrid1上.要不要用Query1呢?搞不懂了我好闷愈!
...全文
122 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
yhf_zhangqian 2005-03-31
  • 打赏
  • 举报
回复
AdoStoredProc1与TQuery,TTable都是数据集组件.AdoStoredProc1与TQuery都可以去调用存储过程,
唯一的区别就是AdoStoredProc1调用的一定是已经存在的,而TQuery可以调用动态的(也就是说可以在Sql.text:='写你需要的过程').
fhuibo 2005-03-31
  • 打赏
  • 举报
回复
用存储过程就用AdoStoredProc1,不用存储过程就用 ADOQuery1

DbGrid1.DataSource := DataSource1;
DataSource1.dataset := ADOQuery1
with ADOQuery1 do
begin
close;
sql.clear;
sql.text := 'select * from 表';
open;
end;
fhuibo 2005-03-31
  • 打赏
  • 举报
回复
create procedure GetHRInfo @Lyear varchar(20),@lmonth varchar(20),@bm varchar(20),
@xm varchar(20) as
begin
select a.salary from 工资表 a,员工表 b where b.工号=a.工号 and a.姓名=@xm
and b.年份=@Lyear and b.月份= @Lmonth and a.部门=@bm
end
zhlwyy 2005-03-31
  • 打赏
  • 举报
回复
还有客户端是不是用DbGrid1 DataSource1 AdoStoredProc1. 把查询结果显示到DbGrid1上.要不要用Query1呢?搞不懂了我好闷愈!
要不要用Query1呢?
----》》
不必!
设置参数就可一了
create procedure GetHRInfo
@Salary varchar(20)
as
begin
select a.salary from HR b,GZ a where b.id=a.id and a.salary=@Salary
end
Go
才子鸣 2005-03-31
  • 打赏
  • 举报
回复

2,497

社区成员

发帖
与我相关
我的任务
社区描述
Delphi 数据库相关
社区管理员
  • 数据库相关社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧