我使用了如下方法取得字段名称和类型
OleDbConnection con=new OleDbConnection(constr);
con.Open();
OleDbCommand com =con.CreateCommand();
com.CommandText="select top 1 * from " + tablename;
OleDbDataReader dr=com.ExecuteReader();
name=dr.GetName(i);
type=dr.GetFieldType(i);我不想使用DataTable table=dr.GetSchemaTable();返回表结构。
请问有类型的属性可以得到字段长度吗?如何得到

解决方案 »

  1.   

    --搂主试下这条语句:SELECT
    sysobjects.Name AS TableName,
    syscolumns.name AS ColumnName,
    systypes.name AS ColumnType,
    COLUMNPROPERTY(syscolumns.id, syscolumns.name,'PRECISION') AS ColumnLengthFROM
    syscolumns 
    LEFT JOIN
    systypes
    ON
    syscolumns.xtype = systypes.xusertype
    INNER JOIN
    sysobjects
    ON
    syscolumns.id=sysobjects.id AND sysobjects.xtype='U' AND sysobjects.name<>'dtproperties'
      

  2.   

    是是 dr.GetSchemaTable().Columns[i].MaxLength