你是什么中的表,sql server 2000、oracle...?

解决方案 »

  1.   

    在Enterprise Manager右击你的数据库-所有任务-Generate sql scripts选项
    设置你scripts所要包含的内容如:触发,约束,存储过程等...
    然后就ok了
      

  2.   

    可以使用BDE或ADO得到这些信息:
    1.BDE 
      Database.GetTableNames();
      Database.GetFieldNames();
      Session.GetStoredProcNames();
    2.ADO
      ADOConnection.GetProcedureNames();
      ADOConnection.GetProcedureNames();
      ADOConnection.GetFieldNames();3.
      使用TFieldList和TParamList的FieldDescs得到
      字段和过程的参数定义信息.
      

  3.   

    to:borlandor(大民)
      谢了,但是我对存储过程没有要求,我希望得到的是字段一级的信息,就像我在上面描述的,如字段长度,有否索引,是否允许为空等。
    to: mfc2001(拔剑茫然心四顾) 
      你说的是手动的过程,如果我有两个数据库,每个数据库有200多个表(还不包括视图),全是手动的话将是一声噩梦。我希望让程序替我找出来。
      

  4.   

    字段长度是否为空,可以在TFieldDef中得到.
    下面得到索引信息;TTable.GetIndexNames();
    TTable.IndexDefs;TADOTable.GetIndexNames();
    TADOTable.IndexDefs;
      

  5.   

    1. you can use erwin.
    2. If you use the sql7.0 or high vision.Use the create script of the
    datebase, it can create the whole system procedure and table details.
      

  6.   

    对于SQL SERVER的话,你可以熟悉一下它的系统表,从中就能得到你想要的。
      

  7.   

    to:borlandor(大民)
    多谢多谢只是针对当前的数据库或数据表,还能取到其它信息吗?我也听说在sql server中有系统表,现在不考虑它,只是从当前表或当前的数据库来讨论,sql server有系统表,paradox dbase可没有系统表呀!我想等一下再结帖,看看能否从诸位高手那儿还能多学点什么!
    谢了
      

  8.   

    用只ADO可以读字段名
    用ADOX可以实现你的所有要求
      

  9.   

    Paradox:
    TDatabase.GetTableNames()获取TableName
    TDatabase.GetFieldNames()获取指定Table的的字段列表
    然后可以用TTable.Field.Size获取指定字段的大小
    ......................DataType取数据类型
    SQL Server有:
    sp_databases   ///数据库
    sp_tables      ///返回表
    sp_Columns     ///表的列信息,包含类型、大小等等
    其它的请参看存储过程
      

  10.   

    adox是ado的扩展
    它的功能assess和MS SQL server一般都支持
      

  11.   

    好,我去试一下adox。
    撇开adox,如果你有一个db扩展名的表,如何取得我在问题中要求的信息,当然要在程序中,不要告诉我打开表看一下!
    明天结帖
      

  12.   

    我这里有句SQL语句。可以获的某个数据库下的很多信息。(表为用户表)
    包括(表名,字段名,字段类型,字段长度,是否为空,缺省值,是否主键(字段),是否ID(字段))SELECT b.name AS tablename, a.name AS fieldname,a.xtype, a.length, a.isnullable,
    (SELECT c.text
             FROM syscomments c
             WHERE a.cdefault = c.id) AS 'DEFAULTSTR',
              (SELECT column_name
             FROM INFORMATION_SCHEMA.KEY_COLUMN_USAGE k
             WHERE EXISTS
                       (SELECT s.id
                      FROM sysobjects s
                      WHERE s.xtype = 'pk' AND s.name = k.constraint_name) AND
                   table_name = b.name AND column_name = a.name) AS keystr,
              (SELECT c.name
             FROM syscolumns c, sysobjects o
             WHERE NOT c.autoval IS NULL AND o.id = c.id AND c.name = a.name AND
                   o.name = b.name) AS idstr
    FROM syscolumns a, sysobjects b
    WHERE a.id = b.id AND b.type = 'u' AND a.xtype = a.xusertype AND
          b.name NOT BETWEEN 'sysmer' AND 'sysmerz' AND b.name NOT BETWEEN
          'MSmerge_' AND 'MSmerge_z'