zoukankan      html  css  js  c++  java
  • 读取库中的所有表名

    select name from sysobjects where xtype='u'

    --读取指定表的所有列名
    select name from syscolumns where id=(select max(id) from sysobjects where xtype='u' and name='表名')
    获取数据库表名和字段
    sqlserver中各个系统表的作用
         sysaltfiles  主数据库 保存数据库的文件
    syscharsets       主数据库 字符集与排序顺序
    sysconfigures     主数据库 配置选项
    syscurconfigs     主数据库 当前配置选项
    sysdatabases      主数据库 服务器中的数据库
    syslanguages      主数据库 语言
    syslogins         主数据库 登陆帐号信息
    sysoledbusers     主数据库 链接服务器登陆信息
    sysprocesses      主数据库 进程
    sysremotelogins主数据库 远程登录帐号

    syscolumns        每个数据库 列
    sysconstrains     每个数据库 限制
    sysfilegroups     每个数据库 文件组
    sysfiles          每个数据库 文件
    sysforeignkeys 每个数据库 外部关键字
    sysindexs         每个数据库 索引
    sysmenbers        每个数据库 角色成员
    sysobjects        每个数据库 所有数据库对象
    syspermissions 每个数据库 权限
    systypes          每个数据库 用户定义数据类型
    sysusers          每个数据库 用户

    //
    用什么方法可以得到一个表中所有的列名。SQl语句。
    select      列名=name      from      syscolumns      where      id=object_id(N'要查的表名')

    use gpStrudy
    select      name="name"      from      syscolumns      where      id=object_id(N'bookTable')
    获得字段的属性
    //这是从一段代码中考出来的,使用的是using     System.Data.OleDb; 
        public     int     GetTableFields(String     tableName,out     String[]     fields,out     String[]     fieldTypes) 
        { 
        try 
        { 
        OleDbCommand     dc           =     m_OleDb.CreateCommand();//创建一个执行对象用于执行sql查询
        dc.CommandText             =     "select     *     from     "     +     tableName; 
        dc.Transaction             =     m_OleTrans; 
        OleDbDataReader     dr     =     dc.ExecuteReader();//执行sql查询
        //获取数据库的架构信息
        DataTable     schemaTable     =     dr.GetSchemaTable(); 
        int     fieldColumnCount     =     0; 
        fields     =     new     String[schemaTable.Rows.Count]; 
        fieldTypes     =     new     String[schemaTable.Rows.Count]; 
        for(int     i     =     0;i     <     schemaTable.Columns.Count;i++) 
        { 
        if(schemaTable.Columns[i].ColumnName.IndexOf("ColumnName")     >=     0) 
        { 
        //获取字段名称
        for(int     k     =     0;k     <     schemaTable.Rows.Count;k++) 
        fields[k]     =     schemaTable.Rows[k].ItemArray[i].ToString(); 
        fieldColumnCount++; 
        if(fieldColumnCount     >=     2) 
        { 
        dr.Close(); 
        dc.Dispose(); 
        dr     =     null; 
        dc     =     null; 
        return     schemaTable.Rows.Count; 
        } 
        } 
        else     if(schemaTable.Columns[i].ColumnName.IndexOf("DataType")     >=     0) 
        { 
        //获取字段类型
        for(int     k     =     0;k     <     schemaTable.Rows.Count;k++) 
        fieldTypes[k]     =     schemaTable.Rows[k].ItemArray[i].ToString(); 
        fieldColumnCount++; 
        if(fieldColumnCount     >=     2) 
        { 
        dr.Close(); 
        dc.Dispose(); 
        dr     =     null; 
        dc     =     null; 
        return     schemaTable.Rows.Count; 
        } 
        } 
        } 
        dr.Close(); 
        dc.Dispose(); 
        dr     =     null; 
        dc     =     null; 
        return     0; 
        } 
        catch(Exception     ee) 
        { 
        fields             =     new     String[1]; 
        fieldTypes     =     new     String[1]; 
        m_ErrorString     =     "Ado_Application:GetTableFields:error:"     +     ee.Message; 
        return     0; 
        } 
        }

  • 相关阅读:
    MatrixTraceTransform主要逻辑在transform方法中
    重写LayoutParams,读取子View自定义属性
    onLayout初始化裁剪信息
    drawChild中画阴影,裁剪出圆角
    继承ConstraintLayout
    如何创建自定义的Resource实例
    mysql优化整理(索引)
    java设计模式
    Oracle中MERGE语句的使用
    BigDecimal 转成 double
  • 原文地址:https://www.cnblogs.com/yiyumeng/p/1810626.html
Copyright © 2011-2022 走看看