1、可以这样列名.属性 = table1.columns[1].att
2、gz

解决方案 »

  1.   

    for Access, you need to use "SELECT Name from MSysObjects WHERE Type = 1 and Name not like \"MSys%\""or use OleDbConnection's GetOleDbSchemaTable method, seehttp://expert.csdn.net/Expert/topic/1333/1333347.xml?temp=6.878078E-03for columns, tryobject [ ] restricts = new object [ ] {null, null, "tableName", null};
    DataTable dbFields = myConn.GetOleDbSchemaTable ( 
       OleDbSchemaGuid.Columns, restricts );
      

  2.   

    for example:string ConnectionString = @"Provider=Microsoft.Jet.OLEDB.4.0;Data Source=C:\Program Files\Microsoft Office\Office\Samples\Northwind.mdb;User ID=admin;";
    OleDbConnection conn = new OleDbConnection(ConnectionString);
    conn.Open();
    object [ ] restricts = new object [ ] {null, null, "Employees", null};
    DataTable dbFields = conn.GetOleDbSchemaTable ( 
       OleDbSchemaGuid.Columns, restricts ); foreach(DataRow dr in dbFields.Rows)
    {
    Console.WriteLine(dr["Column_Name"]);
    }
    conn.Close();
      

  3.   

    谢谢思归,但我现在只能使用ODBC进行连接,而OdbcConnection里没有GetOleDbSchemaTable()方法,请问怎么取呢?
      

  4.   

    use OdbcDataReader.GetSchemaTable methodHOW TO: Retrieve Column Schema by Using the DataReader GetSchemaTable Method and Visual C# .NET
    http://support.microsoft.com/default.aspx?scid=kb;en-us;q310107
      

  5.   

    哈,
    给你一个我用来生成数据字典的SQL语句:select A.name as TableName, B.name as ColName, C.Name as Type,B.length, 
    case when B.isnullable=0 then 'NOT NULL' else 'NULL' end as 'NULL',
    D.Value as Memo 
    from sysobjects A
    left join syscolumns B on A.id=B.id
    left join systypes C on C.xusertype = B.xusertype
    left join sysproperties D on  B.id=D.id and D.smallid=B.colid
    where A.type='U' --and A.name like 'box%'
    order by A.name