一个典型的例子就是Delphi的Database Desktop,它本身就是带源码的啊!

解决方案 »

  1.   

    设置一个界面让用户输入表名,字段名,字段属性等数据用这些变量组成一个T-sql语句
    例如下面的string
    create table tablename
    (
    t_code int not null,
    t_name varchar(60) not null,
    t_charge varchar(12) not null
    )防到adoquery里执行就ok了
      

  2.   

    sql是一定要用到的
    至于界面的设计就得看自己的需求了
      

  3.   

    举个例子:
        我以前做了一个系统:工资管理系统。
        里面就有很多的用户自定义的工资字段项目:
        为了管理方便,给用户自己定义三种数据类型
        1。Varchar类型
        2。INT类型
        3。Numeric类型
        创建两个表,一个是你要ALTER的表,令一个是存放该表的用户信息:如该字段的中文名字,该字段类型,大小,默认值等。用主外键关系管理两个表。
        至于界面,要友好一些。
        你要给用户的感觉是不是在创建表,而是一种的点击鼠标操作。
        
      

  4.   

    在窗体上放二个Grid ,
      一个GRID:允许用户设置字段属性
      1列允许用户写入字段名,
      2列用combbox放入字段类型,允许用户选择数据类型. 
      3列允许用户写入长度
      4列允许用户写入小数(对应数值类型)  另一个GRID:  允许用户创建索引 
      1列用COMBBOX放入用户已经写入的字段名(应为能创建索引的字段名),
      2列用COMBBOX放入索引类型(主索引,唯一索引,普通索引等等)再验证字段的合法性(数据类型与长度及索引是否合法),并组合成建表语句,执行之 .
      最麻烦的是字段的合法性验证.
      

  5.   

    这要看你的用户的新建表的字段是在一定范围内的还是没有范围的、任意的。
    1、如果是有一定范围的(如同一行业的应用,其需要的数据库字段应该有一定范围),可以先将事先定义好的字段(包括其类型、长度)放在一张表内。用户新建表时,从表中将已定义的字段的信息取出,放在用户界面中让用户选取。
    2、否则你就要在用户新建表时,通过获得用户的输入信息建立表了。总之你要先写好根据用户选择或输入的内容拼凑SQL语句建表的程序。
    可以建一个或几个表来存放已建表的字段、类型等信息,以后需要时从表中取出,可以方便用户修改表结构。
    甚至其它一些信息,如:字段的显示名称、显示长度、显示顺序、显示用的组件、是否可见、查找字段等,都可以存放到表里面。顺着这个思路,你应该可以写出一个通用的“数据库字段管理器”来。