1、 为了管理方便,给用户自己定义三种数据类型
1。Varchar类型
2。INT类型
3。Numeric类型
创建两个表,一个是你要ALTER的表,令一个是存放该表的用户信息:如该字段的中文名字,该字段类型,大小,默认值等。用主外键关系管理两个表。
至于界面,要友好一些。
你要给用户的感觉是不是在创建表,而是一种的点击鼠标操作。
2、grid举例
在窗体上放二个Grid ,
一个GRID:允许用户设置字段属性
1列允许用户写入字段名,
2列用combbox放入字段类型,允许用户选择数据类型.
3列允许用户写入长度
4列允许用户写入小数(对应数值类型)
另一个GRID: 允许用户创建索引
1列用COMBBOX放入用户已经写入的字段名(应为能创建索引的字段名),
2列用COMBBOX放入索引类型(主索引,唯一索引,普通索引等等)
再验证字段的合法性(数据类型与长度及索引是否合法),并组合成建表语句,执行之 .
最麻烦的是字段的合法性验证.
3、范围
还要看你的用户的新建表的字段是在一定范围内的还是没有范围的、任意的。
1、如果是有一定范围的(如同一行业的应用,其需要的数据库字段应该有一定范围),可以先将事先定义好的字段(包括其类型、长度)放在一张表内。用户新建表时,从表中将已定义的字段的信息取出,放在用户界面中让用户选取。
2、否则你就要在用户新建表时,通过获得用户的输入信息建立表了。
总之你要先写好根据用户选择或输入的内容拼凑SQL语句建表的程序。
可以建一个或几个表来存放已建表的字段、类型等信息,以后需要时从表中取出,可以方便用户修改表结构。
甚至其它一些信息,如:字段的显示名称、显示长度、显示顺序、显示用的组件、是否可见、查找字段等,都可以存放到表里面。顺着这个思路,你应该可以写出一个通用的“数据库字段管理器”来。