没有找到合适的产品?
联系客服协助选型:023-68661681
提供3000多款全球软件/控件产品
针对软件研发的各个阶段提供专业培训与技术咨询
根据客户需求提供定制化的软件开发服务
全球知名设计软件,显著提升设计质量
打造以经营为中心,实现生产过程透明化管理
帮助企业合理产能分配,提高资源利用率
快速打造数字化生产线,实现全流程追溯
生产过程精准追溯,满足企业合规要求
以六西格玛为理论基础,实现产品质量全数字化管理
通过大屏电子看板,实现车间透明化管理
对设备进行全生命周期管理,提高设备综合利用率
实现设备数据的实时采集与监控
利用数字化技术提升油气勘探的效率和成功率
钻井计划优化、实时监控和风险评估
提供业务洞察与决策支持实现数据驱动决策
原创|其它|编辑:郝浩|2009-12-22 13:37:52.000|阅读 619 次
概述:前一篇ASP.NET:就是喜欢Web Form,就是喜欢拖控件(二)里有评论提到,老赵怎么跟包子饺子跑一块去了?咱们仔细看,这样列出的表确实有些问题,company_id被设计成一个外键,若是直接列出此表给用户看,company_id是不可理解的。
# 界面/图表报表/文档/IDE等千款热门软控件火热销售中 >>
前一篇ASP.NET:就是喜欢Web Form,就是喜欢拖控件(二)里有评论提到,老赵怎么跟包子饺子跑一块去了?咱们仔细看,这样列出的表确实有些问题,company_id被设计成一个外键,若是直接列出此表给用户看,company_id是不可理解的。
id | name | company_id | image |
1 | 包子 | 3 | [bin] |
2 | 蒸饺 | 3 | [bin] |
3 | 人才 | 1 | [bin] |
4 | MVP | 1 | [bin] |
5 | Window 7 | 2 | [bin] |
我们不妨再往前点,回忆下此系列的第一篇 ASP.NET:就是喜欢Web Form,就是喜欢拖控件(一)
似乎还有这么一张表:
Company
id | name |
1 | 博客园 |
2 | 微软 |
3 | 楼下包子铺 |
不错,老赵和包子蒸饺可不是一个地儿出来的。我们的用户大概更希望看到下面的表:
id | name | company_name | image |
1 | 包子 | 楼下包子铺 | [bin] |
2 | 蒸饺 | 楼下包子铺 | [bin] |
3 | 人才 | 博客园 | [bin] |
4 | MVP | 博客园 | [bin] |
5 | Window 7 | 微软 | [bin] |
这样的数据表就清晰多了。
说起实现,你的第一个想法可能是C#去查询,不过数据库为我们提供了更佳的方法:视图。
我们要在数据库里建立一张视图,这样我们可以获得正确的语义和潜在的底层优化。
建立视图方法如下图所示:
使用GridView来显示时,我们不需要任何特殊处理,只要把视图当作普通的表来查询就可以了。
好了,用GridView显示这回已经很好了,接下来我们看看这个表单还有什么问题:
我们的提交表单看起来很土,居然要用户手动去输入公司id!
如前面所说,id这种东西,用户看都看不明白,更何况输入!所以应该提供一种更为友好的输入方式。于是我们想,既然公司数目有限,做一个下拉列表是个不错的主意。我们只需要去插入模板里面把TextBox换成DropDownList,把它的数据源改成Company表的数据源(注意,每个DropDownList有自己的数据源),再用下图方式配置数据绑定:
好了,就这么easy,我们的公司id字段已经可以从dropdownlist里面选了。
别忙,我们还有一个数据项:id,其实我们希望这个id是自动生成的,而不是用户提交的。这个的解决方案跟ASP.NET倒是没什么关系,只要在数据库里把id设置成自增的字段就可以了,见图:
然后我们要更新下数据源和FormView模板,很简单就不多说了.效果如图:
现在我们有了一个功能完备的表单,让我们来进一步提个需求,给数据表加个字段:加入时间
id | name | company_id | image | adddate |
1 | 包子 | 3 | [bin] | 2009-12-14 |
2 | 蒸饺 | 3 | [bin] | 2009-12-14 |
3 | 人才 | 1 | [bin] | 2009-12-14 |
4 | MVP | 1 | [bin] | 2009-12-14 |
5 | Window 7 | 2 | [bin] | 2009-12-14 |
这个加入时间,同样是不希望用户自己去输入的,希望每次插入数据的时候都使用当时的时间,而且我们必须避免用户恶意更改。
其实这个问题,我们只需要再插入Sql语句上动点手脚就行了,重新配置FormView的数据源,把Insert语句改掉:
INSERT INTO [commodity] ([name], [company_id], [image],[addtime]) VALUES (@name, @company_id, @image,CURRENT_TIMESTAMP)
再插入一条新的数据试试,可以按照预期运行了。T-SQL其实是很强大的语言,它甚至是图灵完备的,我们在存储时的很多逻辑操作和变换都可以通过T-SQL来完成,灵活使用T-SQL可以省去不少本来在C#中的工作量。
下一篇预告:
将会重点讲讲跟客户端的整合,其实只要使用的时候遵守一定原则,ASP.NET一样可以生成高质量HTML代码。
本站文章除注明转载外,均为本站原创或翻译。欢迎任何形式的转载,但请务必注明出处、不得修改原文相关链接,如果存在内容上的异议请邮件反馈至chenjj@evget.com
文章转载自:博客园接DevExpress原厂商通知,将于近日上调旗下产品授权价格,现在下单客户可享受优惠报价!
面对“数字中国”建设和中国制造2025战略实施的机遇期,中车信息公司紧跟时代的步伐,以“集约化、专业化、标准化、精益化、一体化、平台化”为工作目标,大力推进信息服务、工业软件等核心产品及业务的发展。在慧都3D解决方案的实施下,清软英泰建成了多模型来源的综合轻量化显示平台、实现文件不失真的百倍压缩比、针对模型中的大模型文件,在展示平台上进行流畅展示,提升工作效率,优化了使用体验。
本站的模型资源均免费下载,登录后即可下载。模型仅供学习交流,勿做商业用途。
本站的模型资源均免费下载,登录后即可下载。模型仅供学习交流,勿做商业用途。
服务电话
重庆/ 023-68661681
华东/ 13452821722
华南/ 18100878085
华北/ 17347785263
客户支持
技术支持咨询服务
服务热线:400-700-1020
邮箱:sales@evget.com
关注我们
地址 : 重庆市九龙坡区火炬大道69号6幢
慧都科技 版权所有 Copyright 2003-
2025 渝ICP备12000582号-13 渝公网安备
50010702500608号