http://www.c-sharpcorner.com/database/table_p.asp

解决方案 »

  1.   

    mysql我不清楚,SQL SERVER2000的我倒是知道。
      

  2.   

    例如ds为dataset,表为aa
    ds.Table["aa"].Rows[0]["userid"].GetType().ToString();
      

  3.   

    同意   LighBlade()  的 意见
    好象跟你连接的数据库类型没有关系,我这里oracle也是这个样子的
      

  4.   

    ArrayList dbtype = new ArrayList();
    foreach (DataColumn dc in dt.Columns)
    {
        dbtype.Add(dc.DataType);
    }
      

  5.   

    MySQLDriverCS.MySQLDataAdapter adapter = new MySQLDriverCS.MySQLDataAdapter("select * from "+tableName,con);
    DataSet ds = new DataSet();
    adapter.Fill(ds,"userinfo");
    Log.debug(ds.Tables["userinfo"].Columns["userid"].DataType.Name);
    我打出来的值是string 啊;明明是int;怎么会是string呢;
      

  6.   

    我想你可以通过下面的SQL语句实现:
    select 'Column_name'= name,'Type' = type_name(xusertype),'Length'= convert(int, length),'Nullable'= case when isnullable = 0 then 'No' else 'Yes' end
    from syscolumns where id = object_ID('表名称')
                   order by colid
    //Sqlserver 可用,mysql也有相关的系统表存储列的相关信息