unde@d吧 关注:11贴子:1,155
  • 3回复贴,共1

oracle获取字段数据类型长度等

收藏回复

  • 124.207.40.*
select data_type, data_length
  from user_tab_columns
 where table_name = upper('表名')
   and column_name = upper('字段名')
table_name,column_name,data_type,data_length,data_precision,data_scale,nullable


1楼2009-09-15 08:41回复
    • 124.207.40.*
    select name,xtype from dbuser.dbo.syscolumns where id=object_id('dbuser.dbo.tb_data')
    select name,xtype from syscolumns where id=object_id('TableName')
    xtype=34 'image'
          xtype= 35 'text'
           xtype=36 'uniqueidentifier'
           xtype=48 'tinyint'
           xtype=52 'smallint'
           xtype=56 'int'
           xtype=58 'smalldatetime'
           xtype=59 'real'
           xtype=60 'money'
           xtype=61 'datetime'
           xtype=62 'float'
           xtype=98 'sql_variant'
           xtype=99 'ntext'
           xtype=104 'bit'
           xtype=106 'decimal'
           xtype=108 'numeric'
           xtype=122 'smallmoney'
           xtype=127 'bigint'
           xtype=165 'varbinary'
                xtype=167 'varchar'
           xtype=173 'binary'
           xtype=175 'char'
           xtype=189 'timestamp'
           xtype=231 'nvarchar' 
           xtype=239 'nchar' 
           xtype=241 'xml'
           xtype=231 'sysname'


    2楼2009-09-24 14:11
    回复
      • 124.207.40.*
      private static void getExcelFileInfo(string Path)
              {
                  string strConn = "Provider=Microsoft.Jet.OLEDB.4.0;" + "Data Source=" + Path;
                  System.Data.OleDb.OleDbConnection conn = new System.Data.OleDb.OleDbConnection(strConn);
                  if (conn.State == ConnectionState.Closed) conn.Open();
                  System.Data.DataTable table = conn.GetOleDbSchemaTable(System.Data.OleDb.OleDbSchemaGuid.Tables, null);
                  foreach (System.Data.DataRow drow in table.Rows)
                  {
                      string TableName = drow["Table_Name"].ToString();
                      Console.WriteLine(TableName + ":");
                      System.Data.DataTable tableColumns = conn.GetOleDbSchemaTable(System.Data.OleDb.OleDbSchemaGuid.Columns, new object[] { null, null, TableName, null });
                      foreach (System.Data.DataRow drowColumns in tableColumns.Rows)
                      {
                          string ColumnName = drowColumns["Column_Name"].ToString();
                          Console.WriteLine(" " + ColumnName);
                      }
                  }
                  Console.ReadKey(true);
              }


      3楼2009-09-27 13:37
      回复
        • 124.207.40.*
        若要获得列名称的列表(即字段描述符,如 TABLE_CATALOG、TABLE_SCHEMA 和 TABLE_NAME),您可以使用列的位置顺序。注意 Columns 数组的元素下标是从 0 开始的: 
        for (int i = 0; i < schemaTable.Columns.Count; i++) {
        Console.WriteLine(schemaTable.Columns[i].ToString());
        }


        4楼2009-09-28 12:00
        回复