我要用delphi实现,外界传入三个参数项目名、公司号、流程,然后按照三个表中的内容查询数据库中是否有匹配的数据.如表1中有匹配的就返回true,否则返回false。如果没有匹配的就查表2,同理再没有匹配的就查表3.条件是根据公司号和流程查。每个表中都有公司号和流程这两项。我很着急,而且是刚学习delphi,希望大家多多帮忙,谢谢!!!
解决方案 »
- [紧急求助]子窗口之前控制问题!!
- 求菜单与用户权限的源码不需到太复杂。
- 如何在delphi中运行ms-dos命令,如 ftp21.152.2.53
- QuickRep中的QRMemo的行高如何控制
- 很菜的问题!Winsock有关!
- datagrid的数据源问题?
- 高手指教——————哥哥们帮忙!!!
- 高分找寻两台电脑通过modem拨号连接,并能相互传送数据的例子!我只是做毕业设计。
- 名字中间的•如何处理
- 请问WORD里面的帮助小精灵是怎样做成的?(就是那个两颗黑眼珠转来转去的家伙)
- Raize控件的RZGroup动态加载子项时,如何写onclick事件啊?
- delphi oracle存储过程返回数据集 提示“列不存在”
RETURN bit
AS
BEGIN
if exists(select 1 from 表1 where 项目名=@pro_name and 公司号 = @comp_id and 流程 = @flow
union select 1 from 表2 where 项目名=@pro_name and 公司号 = @comp_id and 流程 = @flow
union select 1 from 表3 where 项目名=@pro_name and 公司号 = @comp_id and 流程 = @flow)
return 1
else
return 0
END
Create Function GetProject(@pro_name varchar(50), @comp_id varchar(50), @flow varchar(50))
RETURNS bit
AS
BEGIN
DECLARE @rtn BIT
if exists(select 1 from 表1 where 项目名=@pro_name and 公司号 = @comp_id and 流程 = @flow
union select 1 from 表2 where 项目名=@pro_name and 公司号 = @comp_id and 流程 = @flow
union select 1 from 表3 where 项目名=@pro_name and 公司号 = @comp_id and 流程 = @flow)
SET @rtn = 1
else
SET @rtn = 0
RETURN @rtn
END
begin
ADOQuery1.SQL.Text := 'SELECT COUNT(*) FROM ( '
+ 'SELECT PrjName, ComID, Flow FROM table1 UNION ALL '
+ 'SELECT PrjName, ComID, Flow FROM table2 UNION ALL '
+ 'SELECT PrjName, ComID, Flow FROM table3 ) A '
+ 'WHERE PrjName = '''+ PrjName +''' AND ComID = '''+ ComID +''' AND Flow = '''+ Flow +''' ';
ADOQuery1.Open;
Result := ADOQuery1.Fields[0].AsInteger > 0;
ADOQuery1.Close;
end;