ado.net,用datatype可以得到字段的类型,但如何得到字段的长度,在线等!谢谢!解决后马上结贴!

解决方案 »

  1.   

    你可以用 GetSchema 或者表结构,以及size
      

  2.   

    http://support.microsoft.com/kb/310108
      

  3.   

    fangxinggood:
     
    能说得具体点吗?最好有代码,我找过没有找到size啊
      

  4.   

    你查询
    SELECT c.length,c.name FROM syscolumns c  WHERE  OBJECT_NAME(c.id) = '表名'
    就可以了sql2005之后使用
    SELECT c.* FROM sys.columns c  WHERE  OBJECT_NAME(c.object_id) = '表名'
      

  5.   


    我贴的链接里说啦:GetSchemaTable 方法返回 DataTable 属性包含有关 DataReader 列架构。 DataTable 占一行为 resultset 中每个字段。 每列映射到 resultset 中字段的属性。 DataTable 列的 ColumnName 属性是字段的属性, 如 ColumnName DataType 、 ColumnSize 、 IsKeyColumn 或 IsAutoIncrement 属性的名称。 DataTable 列值是字段属性, 如 FirstName 值为 ColumnName 属性的值。
      

  6.   

    我怎么找来找去都找不到ColumnSize ,不会是我的C# 有问题吧!呵呵。ColumnName和DataType都有,就是找不到ColumnSize 
      

  7.   

    mytable = myreader.GetSchemaTable();
    foreach (DataRow myField in mytable.Rows)
    {
        foreach (DataColumn mycol in mytable.Columns)
        {
            msg = mycol.ColumnName & mycol.DataType & ....//想输入ColumnSize信息,可就是没有
        }
    }急啊!大侠帮我看下!
      

  8.   


     mytable.Columns["ColumnSize"]