为一个广告公司做个软件,要求把一个月的内要上报的信息全报输入到数据库。然后那天有的那条信息要上报,一点按钮就能列出来。例如:3.16号要上报的,一点查询,所以3.16上的日期就出来。
现在的问题是:怎么把每条信息在输入时的日期问题?例如:“ABCD”这条信息要求3月16日、3月18日、3月20日、3月22日、3月25日这几天登在报纸上,怎么实现。我的想法是:在数据库中设31个字段作为每个月1号到31号的标志,查询的时候看这天的标志是否选上。现在关键的是要求,一点今天的日期就能知道今天有哪些要登报的。
因为有些广告,一个广告它在不同的日期会登报,如广告内容为“ABCDEFG”,它要求在3.15、3.17、3.21和3.25天登出,怎么实现日期的检索?
--------------------------------------------------------------------------
DelphiICQ编程站,至力于发展编程技术!http://www.DelphiICQ.com/
现在的问题是:怎么把每条信息在输入时的日期问题?例如:“ABCD”这条信息要求3月16日、3月18日、3月20日、3月22日、3月25日这几天登在报纸上,怎么实现。我的想法是:在数据库中设31个字段作为每个月1号到31号的标志,查询的时候看这天的标志是否选上。现在关键的是要求,一点今天的日期就能知道今天有哪些要登报的。
因为有些广告,一个广告它在不同的日期会登报,如广告内容为“ABCDEFG”,它要求在3.15、3.17、3.21和3.25天登出,怎么实现日期的检索?
--------------------------------------------------------------------------
DelphiICQ编程站,至力于发展编程技术!http://www.DelphiICQ.com/
只需要设一个Char(31)字段,代表31天,如果第一天有,那么就在第一位设置为1,否则第一位设置为0,检索的时候用?做通配符检索。
做成主子结构的表不就可以了吗!abcd这条信息存入数据库中应该有自己的唯一标识的id吧,在从表中,只要存这个id和日期不就可以了吗?
to : yimoo(宝剑锋自磨砺出 梅花香自苦寒来)
我觉得用char(31)不好,看楼主的例子,日期不一定连续,如果出现跨月就麻烦了。
仔细看了一下楼主的问题,原来是要求一个月内的!那用你的应该没问题,只是不知道出现跨月和跨年时楼主的业务是怎样处理的,总觉得有些怪异,比如出现跨月,那abcd这条信息还要重输入一次?
楼主的业务逻辑我觉得有问题(个人意见,别来板砖,^_^)比如有一条信息aaa在一年中需要上报12次,每月一次,那你怎么处理,录入12次?
以你的意思,如果用从表,那么从表中的内容是ID+日期,例广告“ABCDE”如果出现5次,就应该在从表中显示出5次吗?
1 2004.3.15
1 2004.3.17
1 2004.3.20是这个意思吗?
select a.信息 from 主表 a,子表 b where a.id=b.id and b.日期=实际日期
这样,应在某日上报的信息就可以全部检索出来。
而且当某种信息需长期上报也没问题。
但要注意信息修改或删除时要考虑到从表。
--------------------------------------------------------------------------
DelphiICQ编程站,至力于发展编程技术!http://www.DelphiICQ.com/