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 然后从配置文件读取.怎奈发现应用程序执行中.只有下次才能从配置文件中读.所以就没这么做.

    源码下载

    一路走来,一切都在改变,唯一不变的是心中的那份执着.
  • 相关阅读:
    USTC 软硕讯飞班参考资源
    nginx 负载均衡
    Meidawiki 配置
    10 款实用的jquery插件
    Mongodb 定时释放内存
    互联网产品精神解读
    简单的缓冲区溢出实验
    fatal error C1902: 程序数据库管理器不匹配;请检查安装解决
    C#的override、new、vitutal一例
    SQL Server 2008导入、导出数据库
  • 原文地址:https://www.cnblogs.com/lonelyofsoul/p/3465577.html
Copyright © 2011-2022 走看看