金沙棋牌app手机下载

当前位置:金沙棋牌 > 金沙棋牌app手机下载 > 使用脚本输出excel文件的方法分享,使用sql脚本输

使用脚本输出excel文件的方法分享,使用sql脚本输

来源:http://www.logblo.com 作者:金沙棋牌 时间:2019-09-11 21:51

 

转自:

原文地址:http://www.maomao365.com/?p=7335

1系统简介

转自:http://www.maomao365.com/?p=6679


 

1.1功能简述

在Net软件开发过程中,大部分时间都是在编写代码,并且都是重复和冗杂的代码.比如:要实现在数据库中10个表的增删改查功能,大部分代码都是相同的,只需修改10%的代码量.此时若使用代码生成器即可完全解决此问题

在开发数据库型软件时,连接数据库是个必要的操作过程,但连接不同数据库,需要不同的工具.如:连接SQLServer使用微软提供的查询分析器,连接Oracle使用PL/SQL工具,连接MySql使用Navicat for MySQL工具.若是有这样的工具,能够同时连接多个数据库,即可解决这些问题

本软件可同时解决上面的2个问题.详细功能如下所描述

摘要:

摘要:

1.2运行环境

.NET Framework 4.0

下文将分享使用sql脚本输出交替变换的不同背景颜色的sql脚本的方法分享,如下所示:
实验环境:sqlserver 2008 R2

摘要:

 

1.3使用方法

双击软件图标,弹出如图1-1所示

图片 1

图1-1


下文将分享使用sql脚本输出excel的方法
 
此脚本可以应用于 表或视图生成excel的方法,
若需使用sql脚本输出excel数据,我们可将sql脚本生成视图或临时表,

   数据表中,有一列是自动流水号,由于各种操作异常原因(或者插入失败),此列数据会变的不连续,下文将讲述使用sql脚本的方式获取数据表中的数据是否连续的方法分享,如下所示:

1.4产品亮点

l 可操作多种数据库

l 生成指定字段的增删改查语句

l 生成数据字典,导出文件类型包括:html,word,excel

l 数据库结构比较

l 数据库数据传输

l 数据库数据同步

l SQLServer转SQLite

l 查看部分数据库进程

l 查找Db栏目名称和栏目值

例:
下文 首先采用 over() row_number 函数生成的行编号,
然后对每行进行颜色变化操作,生成不同的背景色,如下所示:

然后再输出excel

输出excel语法简介:
exec
master..xp_cmdshell 'bcp [数据库名称].[架构名].[表名] out [excel存放位置全路径] -c -q -S"服务器Ip" -U "sql用户名" -P "sql密码"'

---例1:
exec 
master..xp_cmdshell 'bcp test.dbo.tableName out d:test.xls -c -q -S"." -U "sa" -P "erp"'
---将数据库test中tablName输出值d盘test.xls文件
---服务器地址.
---sql账户sa
---sql密码erp
--------------------------------------------
例2: 根据动态文件名输出excel的方法
declare @name varchar(30) ---动态文件名
set @name ='d:test123.xlsx'

exec 
('master..xp_cmdshell ''bcp test.dbo.tableName out ' @name ' -c -q -S"." -U "sa" -P "erp"''') ---拼接操作语句,并采用exec执行

注意事项:

*1 使用脚本输出的excel ,无表头
2 可动态文件名和动态sa账户密码生成相关信息
3 如果输出sql脚本的数据至excel,我们需先将sql脚本生成的数据缓存至表中,然后输出表数据至excel

xp_cmdshell相关权限需打开
*

 

2功能菜单

是代码生成器的基本功能,以菜单形式展现.如图2-1

图片 2

图2-1

create table test(keyId int,info varchar(30))
go
insert into test(keyId,info)values(10,'测试信息20180625-1')
insert into test(keyId,info)values(20,'测试信息20180626-2')
insert into test(keyId,info)values(21,'测试信息20180628-3')
insert into test(keyId,info)values(81,'测试信息20180620-4')
insert into test(keyId,info)values(92,'测试信息20180608-5')
insert into test(keyId,info)values(101,'测试信息20180605-6')
insert into test(keyId,info)values(102,'测试信息20180606-7')
go


declare @tmp varchar(max)
set @tmp ='<table>'
set @tmp =@tmp '<tr><td>流水号<td>keyId<td>info</tr>'

select 
@tmp=@tmp '<tr style=''background-color:'  case when t.[编号] %2=0 then 'blue' else '' end '''>'
 '<td>'  convert(varchar(100),t.[编号])
 '<td>'  convert(varchar(100),t.keyId)
 '<td>' t.info
 '</tr>'
from 
(
select row_number() over(order by keyId asc ) as [编号],
keyId,info from test ) as t 


set @tmp =@tmp '</table>'
select @tmp ---打印生成的html信息 

go
drop table test 

   实验环境:sqlserver 2008 R2  

2.1Db选项

图片 3

图2-2

定义通用的配置项,如:生成C#代码时,需引用的DLL文件列表, 命名空间定义等

 


2.2Db连接字符串管理

图片 4

图2-3

是指连接过的Db数据库记录起来,方便下次可以直接使用.选中要打开的数据库,点击”确定”按钮即可

 

2.3SQLServer转SQLite数据库

图片 5

图2-4

连接SQLServer数据库,将其数据结构整体移植至SQLite数据库.同时还包括表数据

例:获取表test中keyId是否为连续的数据

2.4数据传输

图片 6

 

2.5数据同步

图片 7

实现思路:

2.6结构比较

图片 8

注:目前只能够对同一数据库类型比较

 

2.7查看进程

图片 9

图2-5

注:目前仅支持MySql数据库

 1.采用row_number 对表test重新生成流水号

2.8数据字典

图片 10

图2-6

导出文件类型包括:Word,Excel和Html.效果如图下所示

图片 11

图2-6-1

上图是Excel文件

图片 12

图2-6-2

上图是Html文件

图片 13

图2-6-3

上图是Word文件

 

3功能列表

 2.采用with as (cte)表达式将重新生成流水号的表放入临时表

3.1连接数据库

图片 14

图3-1

如上图所示,本产品支持连接SQLServer,SQLite,SQLAnyWhere,MySql,Oracle,OleDb数据库和PowerDesigner文件.连接成功后,均生成同样的对象,因此,可以实现他们之间的脚本互换.连接这些数据库或文件的登录页面如下列表所示

图片 15

图3-1-1

描述:连接SQLServer数据库

图片 16

图3-1-2

描述:连接SQLite数据库

图片 17

图3-1-3

描述:连接SQLAnyWhere

图片 18

图3-1-4

描述:连接MySql数据库

图片 19

图3-1-5

描述:连接OleDb数据库

图片 20

图3-1-6

描述:连接Oracle数据库

图片 21

图3-1-6

描述:连接PowerDesigner文件

 

3.2读取结构

连接数据库.若成功,会加载此服务器(或文件)的所有数据库及数据类型,如下图所示

图片 22

图3-2-1

图片 23

图3-2-2

上图为数据库列表

数据库图标是灰色的,表示未连接或连接失败;图标是正常颜色的,表示连接成功,可以对数据库进行操作

图片 24

图3-2-3

上图为数据类型列表.可供参考

 3.对临时表自身进行 左连接(前一行和后一行互补),然后比较行中两张表的keyId 是否相差1,

3.3对象列表

图片 25

图3-3-1

对象包括:表,视图和命令.分别如下图所示

图片 26

图3-3-2

表示表

图片 27

图3-3-3

表示视图

图片 28

图3-3-4

表示命令

 

3.4数据库操作

选中数据库结点右键,出现右键菜单,功能如下图所示

图片 29

图3-4

   如果相差1,则代表连续数据行,反之为非连续行数据

3.4.1新建查询

图片 30

图3-4-1

新建查询,是打开一个文本编辑器,录入sql语句执行,将执行结果显示到UI控件

create table test 

(keyId int,info varchar(60))

go

insert into test(keyId,info)values

(1,'maomao365.com'),(2,N'连续数判断'),

(4,N'blog教程'),(5,'maomao'),

(8,'test'),(9,'info')

;

with  tmp as 

 (select  ROW_NUMBER() over (order by keyId asc ) as keyIdNew,

* from test  ) 

select a.keyIdNew,

a.keyId,a.info ,

 case  when ISNULL(a.keyId,0)-1 = b.keyId 

              or b.keyId is null  then '连续'

       else '不连续'

 end as '连续标志'

 from tmp a 

left join tmp b on a.keyIdNew = b.keyIdNew 1

;

go

truncate table test 

drop     table test 
3.4.2生成脚本

图片 31

图3-4-2-1

生成脚本,是指生成整个数据库的脚本,包括表,视图和命令,生成结果如下图所示

图片 32

图3-4-2-2

生成的脚本可保存至文件或系统剪切板

 图片 33

3.4.3批量代码生成

此版本暂不支持

 

3.4.4打印数据库

图片 34

打印数据库中表结构列表

3.4.5在数据库查找

图片 35

图3-4-5-1

图片 36

图3-4-5-2

在数据库中查找包括2个:分别是查找栏目名称和栏目值

查找栏目名称是指查找Db表栏目名称的位置

查找栏目值,是指查找Db栏目值的位置

3.4.6刷新

重新读取数据库结构

3.4.7属性

数据库属性内容,如下图所示

图片 37

图3-4-7

3.5表操作

图片 38

图3-5

3.5.1浏览数据(前1000条)

图片 39

图3-5-1

由于Db表数据可能会很多,此功能是只读取Db表前1000条数据.如上图所示

3.5.2生成脚本

图片 40

图3-5-2

此功能是直接生成此对象表的脚本,包括表,视图和命令.并将脚本保存至剪切板或文件

3.5.3SUID语句生成

图片 41

图3-5-3

此功能是生成Db表的Select,Insert,Update,Delete语句,如上图所示

3.5.4代码生成

图片 42

代码生成,是根据模板,生成指定的类文件,包括:实体类,扩展实体类,数据访问类,精力层类,列表页面,单据页面,Grid栏目等,如上图所示

注:生成的类,都是用于NaviSoft30的框架,若扩展,可自行添加模板即可

3.5.5属性

图片 43

图3-5-5

查看Db表的相关属性.如上图所示

3.6视图操作

图片 44

与表操作相同,在此不再叙述

3.7命令操作

图片 45

与表操作相同,在此不再叙述

4查询分析器

图片 46

图4

4.1菜单栏和工具栏

图片 47

图4-1

l 运行:是指直接执行SQL语句.注:此处执行的是选中SQL语句,如果未选中,则执行全部

l 停止:用于多线程执行SQL语句时使用,暂未开发

l 执行计划:仿SQLServer查询分析器中的执行计划.目前支持:SQLServer和MySql

l 新建:是指基于指查询分析Db连接串,新创建一个查询分析器

l 打开:是指打开sql文件,读取文件内容

l 另存为:是指将查询分析器内容保存为sql文件

l 查找:是指查找SQL语句中关键字,如下图所示

图片 48

图4-1-1

l 网络查看

图片 49

图4-1-2

以网格形式展示批量数据

l 表单查看

图片 50

图4-1-3

以表单形式展示单条数据

l 备注和图像

图片 51

图4-1-4

备注:是指展示单行单列数据

图像:是指若单元格值若是图像Url地址,则直接展示

4.2信息和结果

图片 52

查看执行sql语句所需时间

图片 53

展示sql语句执行的结果

4.3生成SQL语句

图片 54

根据sql语句执行的结果,可以生成增删改的sql语句.而且是可以指定字段生成,如下图所示

4.3.1生成Insert语句

图片 55图片 56

4.3.2生成Update语句

图片 57

图片 58

4.3.3生成Delete语句

图片 59

图片 60

5FAQ

5.1FAQ1

问:若360安全卫士开启时,会弹出是否允许此程序运行,如图8-1所示

图片 61

图8-1

答:选择:一直允许运行(加入白名单)

 

下载地址

在线帮助

本文由金沙棋牌发布于金沙棋牌app手机下载,转载请注明出处:使用脚本输出excel文件的方法分享,使用sql脚本输

关键词: