当前位置:编程学习 > C#/ASP.NET >>

C# 动态给数据库添加字段

遇到个问题求大侠赐教。
数据库有一张表叫"User",里面有名字和年龄2个字段。用C#做了个维护界面,用户要求增加个性别的字段。在不改源码的情况下怎么实现呢?前期框架要怎么搭建合理一点呢? --------------------编程问答-------------------- 除 --------------------编程问答-------------------- 不改源码那是不可能的  数据库是肯定要改的 代码页要增加 --------------------编程问答-------------------- 不该源码那就是胡扯,就是添加到数据库你怎么调用? --------------------编程问答-------------------- 为什么不让改呢? --------------------编程问答-------------------- 用ado.net执行sql即可。http://www.w3school.com.cn/sql/sql_alter.asp --------------------编程问答-------------------- 求高手赐教啊,现在要做一个自定义单据的功能,求思路。功能就是用户能够自助添加字段,调节字段在表单中的位置 --------------------编程问答-------------------- 额,这玩意一般不是用数据库滴,类似这东西一般才xml去表达,xml+xsls或者xml+实体+模版引擎 --------------------编程问答-------------------- 如果非要更改数据库,其实也基本一个道理

xml+实体+模版引擎

呵呵,新人觉得Ef还codefirst是个很牛叉的技术,其实这个是俺们使用很多年的技术了,经由实体使用模版引擎生成sql,貌似很多年前都已经是非常成熟的技术了 --------------------编程问答-------------------- “前期框架要怎么搭建合理一点呢”这个问题实在是太“空”太泛滥了,我无法给你解释那么复杂的东西。

仅仅说一下具体的。

你的“性别”字段在数据库中叫什么名字,什么类型,多长,以及它在界面上在什么地方显示,显示时用什么类型的控件和编辑时用什么类型的控件(这相当于aspx中GridView的模板列人工定义),等等属性,你应该单独定义一个数据结构(我说的数据结构是指普通的“自定义类型”)。

定义出了对象结构,研究清楚程序中该如何使用这个数据结构的实例对象,最后再考虑是数据库还是别的什么地方存储这些实例对象的简单问题吧。不要把你在软件设计时遇到的领域模型分析问题,跟数据库表“技术”混为一谈。 --------------------编程问答-------------------- 所谓框架,在你这个角度是难以忽悠出什么概念的。因为你在基本的该有什么class的问题上还是空白,那么就无法讨论什么性能、通讯、用户体验、开发时分工协作等等问题,而后者这些实践性的东西才驱动出“架构”,不是抄袭一些时髦的简单名词就是架构,仅仅会“增删改查”的初学者不适合动不动就谈论“前期框架搭建”这个词儿(就好像工地上的刚来了半年的苦力不适合动不动就谈论“建筑设计蓝图和具体设计细节”问题的)。

你应该把基本的东西(至少知道“何物存在”)搞清楚。

要表达一个用户自定义字段,那么这个字段都聚合了什么属性?这些属性在用户的基本使用行为上如何起作用?是否有冗余、含糊、重复、管理不匹配的现象?

如果觉得这些基本的设计还很费劲,那么就相当于无法入门。应该把设计工作交给更合适的人去做。 --------------------编程问答-------------------- 当然可以做到。动态获得数据库结构(DataBase Schema),按照某种映射关系放在界面上处理。这种映射关系还得做成配置文件。

实际上SQL Server Management Studio就是这样一个“通用”的数据库管理软件。

不过做出的系统用户一定不喜欢用,为啥,你等于把本来给程序员用的软件直接甩给用户,用户会说,那我还要你的程序干嘛,我还得自己写程序(配置文件也可以看成一种领域语言)。

你还不如把Visual Studio LightSwitch直接卖给客户,赚个差价算了。 --------------------编程问答-------------------- 我只能说 呵呵了
补充:.NET技术 ,  C#
CopyRight © 2022 站长资源库 编程知识问答 zzzyk.com All Rights Reserved
部分文章来自网络,