悬赏园豆:10
[已关闭问题]
<P>需求为: </P>
<P>标题 贡献人 修改 <BR>内容描述 <BR>相关文档下载 附件1说明 附件1下载 附件2说明 附件2下载 附件3说明 附件3下载 <BR>审批: 未通过:<修改意见> 通过 </P>
<P><BR>我想把这个附件下载做成一个用户控件 <BR>因为还有蛮其他功能都可以上传附件<BR>想关联的有六个表 <BR>他数据库是这样设计的<BR>CREATE TABLE snm_attachment(<BR> aid INTEGER IDENTITY,<BR> subject VARCHAR(50) NOT NULL,<BR> description TEXT,<BR> url VARCHAR(255), -- 附件路径<BR> pubdate DATETIME, -- 发布时间(上传时间)<BR> sid INTEGER, -- FK_计划编号<BR> pid INTEGER, -- FK_项目编号<BR> tid INTEGER, -- FK_任务编号<BR> eid INTEGER, -- FK_经验编号<BR> cid INTEGER, -- FK_评论编号<BR> fid INTEGER, -- FK_流程编号<BR> <BR> PRIMARY KEY (aid),<BR>);<BR>GO</P>
<P>我写了存储过程 <BR>create proc Proc_SelectattachmentByForeignID --根据各外键查询附件信息<BR> @keyID int, --1 为sid 计划编号2为pid项目编号3为tid 任务编号4为eid 经验编号5为cid 评论编号6为fid流程编号<BR> @sid INTEGER, -- FK_计划编号<BR> @pid INTEGER, -- FK_项目编号<BR> @tid INTEGER, -- FK_任务编号<BR> @eid INTEGER, -- FK_经验编号<BR> @cid INTEGER, -- FK_评论编号<BR> @fid INTEGER -- FK_流程编号<BR>as<BR> if(@keyID=1)<BR> select aid,subject,description,url,pubdate,sid from snm_attachment where <A href="mailto:sid=@sid">sid=@sid</A><BR> if(@keyID=2)<BR> select aid,subject,description,url,pubdate,pid from snm_attachment where <A href="mailto:pid=@pid">pid=@pid</A><BR> if(@keyID=3)<BR> select aid,subject,description,url,pubdate,tid from snm_attachment where <A href="mailto:tid=@tid">tid=@tid</A><BR> if(@keyID=4)<BR> select aid,subject,description,url,pubdate,eid from snm_attachment where <A href="mailto:eid=@eid">eid=@eid</A><BR> if(@keyID=5)<BR> select aid,subject,description,url,pubdate,cid from snm_attachment where <A href="mailto:cid=@cid">cid=@cid</A><BR> if(@keyID=6)<BR> select aid,subject,description,url,pubdate,fid from snm_attachment where <A href="mailto:fid=@fid">fid=@fid</A><BR>go<BR>现在问题是 传入的参数太多了 <BR>那后面的六个ID 都是唯一的 我要么样做啊 ?<BR> 有没有简洁点的解决方案啊?</P>