如题,我所指是不通过MSSQL或Oracle所提供的系统表来实现的方法。

解决方案 »

  1.   

    字段名可以用datatable的column.name得到吧?至于类型就不知道了,看楼下高手的
      

  2.   

    column.name是可以得到名字,可column.datatype得到的是Dataset中的数据类型,都被转化成为字符型了的。
    我通过使用Connection.GetOleDbSchemaTable获得了数据库的架构信息,但字段类型是用130这样的形式来表示的,而且nchar、nvchar、ntext都是用130表示,请问有人对这个有了解吗?
    楼上的说O/R映射能具体点吗?
      

  3.   

    在SQL Server中
    //user为你的登陆用户名,可以将该用户名左右权限的表组成个DataDet
    select  name  from  sysobjects  where  xtype='User'  
    在Oracle中
    //取得用户表
    select * from all_tables where owner='User'  
    //取得表的字段
    SELECT * FROM user_tab_columns Where table_name='TableName' 要注意那个"TableName"必须区分大小写,
    我正在做类似表管理系统,多多交流!
      

  4.   

    SqlConnection conn=new SqlConnection("server=(local);database=pubs;uid=sa;pwd=sa");
    SqlCommand cmd=new SqlCommand("select * from employee",conn);
    conn.Open();
    SqlDataReader reader=cmd.ExecuteReader(CommandBehavior.KeyInfo|CommandBehavior.SchemaOnly);
    DataTable table=reader.GetSchemaTable();
    foreach(DataRow row in table.Rows){
    Response.Write(row["ColumnName"]+"&nbsp;"+row["IsIdentity"]+"&nbsp;"+row["IsAutoIncrement"]+"&nbsp;"+row["IsKey"]+"&nbsp;"+row["IsUnique"]+"<br/>");
    }
    conn.Close();
      

  5.   

    回ghchen():你给的代码里没有字段的类型啊
      

  6.   

    使用Ado.net获取数据库架构信息 
    文章
    http://blog.csdn.net/zhzuo/archive/2004/07/03/33273.aspx
    代码
     http://www.aspx163.com/zhzuo/getdatabaseschema.rar