<noscript id="eassg"><table id="eassg"></table></noscript>
  • <strike id="eassg"><s id="eassg"></s></strike>
  • <ul id="eassg"></ul>
    注冊|登錄

    聯系電話:024-31891684  13390130939
    沈陽軟件公司--沈陽軟件定制

    沈陽軟件開發_沈陽軟件公司_沈陽軟件定制/軟件/最新技術

    Latest technology最新技術

    SQL數據生成實體類

    瀏覽量:2659

     
    set ANSI_NULLS ON
    set QUOTED_IDENTIFIER ON
    go
     
    create proc [dbo].[p_db_wsp]
    @dbname varchar(50),   --數據庫名
    @path varchar(100),    --實體類所在目錄名,如D:/My/Models
    @namespace varchar(50) --實體類命名空間,默認值為Models
    as
    --判斷數據庫是否存在
    if(db_id(@dbname)is not null)
    begin
    if(isnull(@namespace,'')='')
    set @namespace='Models'
    -- 允許配置高級選項
    EXEC sp_configure 'show advanced options', 1
    -- 重新配置
    RECONFIGURE
    -- 啟用Ole Automation Procedures
    EXEC sp_configure 'Ole Automation Procedures', 1
    -- 啟用xp_cmdshell,可以向磁盤中寫入文件
    EXEC sp_configure 'xp_cmdshell', 1
    -- 重新配置
    RECONFIGURE
    declare @dbsql varchar(1000),@tablename varchar(100)
    set @dbsql='declare wsp cursor for select name from '+@dbname+'..sysobjects where xtype=''u''  and name <>''sysdiagrams'''
    exec(@dbsql)
    open wsp
    fetch wsp into @tablename--使用游標循環遍歷數據庫中每個表
    while(@@fetch_status=0)
    begin
    --根據表中字段組合實體類中的字段和屬性
    declare @nsql nvarchar(4000),@sql varchar(8000)
    set @nsql='select @s=isnull(@s+char(9)+''private '',''using System;'+char(13)+'using System.Collections.Generic;'
    +char(13)+'using System.Text;'+char(13)+'namespace '+@namespace+char(13)+
    '{'+char(13)+char(9)+'public class '+@tablename+char(13)+'{''+char(13)+char(9)+''private '')+
    case when a.name in(''image'',''uniqueidentifier'',''ntext'',''varchar'',''ntext'',''nchar'',''nvarchar'',''text'',''char'') then ''string''
    when a.name in(''tinyint'',''smallint'',''int'',''bigint'') then ''int''
    when a.name in(''datetime'',''smalldatetime'') then ''DateTime''
    when a.name in(''float'',''decimal'',''numeric'',''money'',''real'',''smallmoney'') then ''decimal''
    when a.name =''bit'' then ''bool''
    else a.name end+'' ''+lower(''_''+b.name)+'';''+char(13)+char(9)+''public ''+
    case when a.name in(''image'',''uniqueidentifier'',''ntext'',''varchar'',''ntext'',''nchar'',''nvarchar'',''text'',''char'') then ''string''
    when a.name in(''tinyint'',''smallint'',''int'') then ''int''
    when a.name=''bigint'' then ''long''
    when a.name in(''datetime'',''smalldatetime'') then ''DateTime''
    when a.name in(''float'',''decimal'',''numeric'',''money'',''real'',''smallmoney'') then ''decimal''
    when a.name =''bit'' then ''bool''
    else a.name end
    +'' ''+b.name+char(13)+char(9)+''{''+char(13)+char(9)+char(9)+''get{return ''+lower(''_''+b.name)+'';}''+
    char(13)+char(9)+char(9)+''set{''+lower(''_''+b.name)+''=value;}''+char(13)+char(9)+''}''+char(13)
    from '+@dbname+'..syscolumns b,
    (select distinct name,xtype from '+@dbname+'..systypes where status=0) a
    where a.xtype=b.xtype and b.id=object_id('''+@dbname+'..'+@tablename+''')'
    exec sp_executesql @nsql,N'@s varchar(8000) output',@sql output
    set @sql=@sql+char(9)+'}'+char(13)+'}'
    --print @sql
    DECLARE @err INT,@fso INT,@fleExists BIT,@file VARCHAR(100)
    SET @file=@path+'/'+@tablename+'.cs'
    EXEC @err=sp_OACreate 'Scripting.FileSystemObject',@fso OUTPUT
    EXEC @err=sp_OAMethod @fso, 'FileExists',@fleExists OUTPUT,@file
    EXEC @err = sp_OADestroy @fso
     
    IF @fleExists!=0
    exec('exec xp_cmdshell ''del '+@file+'''') --存在則刪除
    exec('exec xp_cmdshell ''echo '+@sql+' > '+@file+'''') --將文本寫進文件中
    set @sql=null
    fetch wsp into @tablename
    end
    close wsp
    deallocate wsp
    print '生成成功!'
    end
    else
    print '數據庫不存在!

    沈陽團購網|營口網站制作|沈陽軟件公司|軟件定制|網站建設|加盟易勢|提交問題

    日韩精品无码久久一区二区三 | 久久国产精品最新一区| 精品大臿蕉视频在线观看| 久久精品中文字幕免费| 9久热这里只有精品免费| 四虎成人精品国产永久免费无码| 日韩精品一二三四区| 日韩精品国产丝袜| 99久久婷婷国产综合精品| 国产精品大全国产精品| 色综合久久综精品| 亚洲国产成人久久精品app| 99久久免费精品高清特色大片 | 国内精品久久久久影院亚洲| 2021年国产精品久久| 99久久免费精品视频| 一区二区三区国产精品| 久久99热精品这里久久精品| 国产成人精品日本亚洲网站 | 香蕉久久精品国产| 含羞草国产亚洲精品岁国产精品| 久久国产亚洲精品| 国产精品国产三级国产an| 久久久这里有精品| 国产成人精品三级在线| 精品无人区麻豆乱码无限制| 国产对白精品刺激一区二区| 99久久99久久精品免费看蜜桃| 国产精品亚洲专区在线观看| 四虎国产精品高清在线观看 | 精品中文字幕一区在线| 免费日韩在线视频| 七月婷婷精品视频在线观看| 成人午夜精品视频在线观看| 亚洲国产精品专区在线观看| 国产精品 一区 在线| 国产精品亚洲玖玖玖在线观看| 9久热这里只有精品免费| 日产精品一线二线三线京东 | 久久精品国产72国产精| 在线观看一区二区精品视频|