zoukankan      html  css  js  c++  java
  • 根据SQLServer数据表生成C#实体类

    生成表的实体类工具,有助于减少代码量,加快开发速度.

    先看效果图

    第一副图根据输入的连接服务器地址 用户名 登录数据库名 密码连接到数据库.如果错误则提示连接失败.

    第二幅图先取的当前数据库所有的用户创建的表

    然后根据选中的表名取得数据库中关于此表信息的的系统表.然后将字段类型转换为C#数据类型.并输出的TextBox

    这里主要用到几个表

    select * from sys.extended_properties  表注释 和列注释,列的排列顺序(不带列名)

    select * from sys.columns 数据库表所有列的详细信息 字段类型,表的字段,名称等

    select * from sysobjects where xtype = 'U' --所有用户创建的表 列ID

    select * from systypes  --SQL SERVER 数据库所有的类型

    select * from syscolumns 所有字段名称 长度等

    下面以 Ts_Customers 为例 取得此表的 列名,列类型,表注释,列注释

    select syscolumns.name,systypes.name as type
    ,(select isnull(value,'') from sys.extended_properties ex_p where ex_p.minor_id=0

    and ex_p.major_id=sysobjects.id) as TableDemo
     ,ext.value as colName from syscolumns  
      INNER   JOIN  sysobjects  ON   syscolumns.id  =  sysobjects.id 
      INNER   JOIN   systypes   ON   syscolumns.xtype   =   systypes.xtype 
      INNER join sys.extended_properties as ext on ext.major_id=sysobjects.id 
      and ext.minor_id=syscolumns.colorder
      WHERE   (sysobjects.name   =   'Ts_Customers')   AND   (systypes.name   <>   'sysname')

    效果如下

    取得结果后.就是循环写入到TextBox了。这里代码不贴了.很简单

    基本达到想要的效果.遗憾的是想把数据库连接测试通过后动态保持到app.config 然后从配置文件读取.怎奈发现应用程序执行中.只有下次才能从配置文件中读.所以就没这么做.

    源码下载

    一路走来,一切都在改变,唯一不变的是心中的那份执着.
  • 相关阅读:
    UVA
    UVA
    模板——扩展欧几里得算法(求ax+by=gcd的解)
    UVA
    模板——2.2 素数筛选和合数分解
    模板——素数筛选
    Educational Codeforces Round 46 (Rated for Div. 2)
    Educational Codeforces Round 46 (Rated for Div. 2) E. We Need More Bosses
    Educational Codeforces Round 46 (Rated for Div. 2) D. Yet Another Problem On a Subsequence
    Educational Codeforces Round 46 (Rated for Div. 2) C. Covered Points Count
  • 原文地址:https://www.cnblogs.com/lonelyofsoul/p/3465577.html
Copyright © 2011-2022 走看看