Foxtable(狐表)用户栏目专家坐堂 → 如何转换成foxtable可执行的语句


  共有3566人关注过本帖树形打印复制链接

主题:如何转换成foxtable可执行的语句

帅哥哟,离线,有人找我吗?
有点蓝
  1楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:110669 积分:563259 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2021/9/29 13:49:00 [显示全部帖子]

放到存储过程里调用

 回到顶部
帅哥哟,离线,有人找我吗?
有点蓝
  2楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:110669 积分:563259 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2021/9/29 14:10:00 [显示全部帖子]


 回到顶部
帅哥哟,离线,有人找我吗?
有点蓝
  3楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:110669 积分:563259 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2021/9/29 14:46:00 [显示全部帖子]

把DECLARE   @sql   varchar ( 2000 )   开始至后面的的sql都放到存储过程里执行即可

 回到顶部
帅哥哟,离线,有人找我吗?
有点蓝
  4楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:110669 积分:563259 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2021/9/29 15:07:00 [显示全部帖子]

直接照搬过去,然后把表名列名改为自己的即可

 回到顶部
帅哥哟,离线,有人找我吗?
有点蓝
  5楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:110669 积分:563259 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2021/9/29 15:55:00 [显示全部帖子]

执行存储过程

一般用户请忽略本节内容。

假定我们在SQL Server创建了一个存储过程:

CREATE PROCEDURE GetOrders
AS
BEGIN
  
DECLARE   @sql   varchar ( 2000 )   

 set   @sql = ''   

  

 select   @sql = @sql   +   ' ,class ' , count (id), sum (Mark)  from   temp   

 group   by  Name,class   

  

  

 declare   @sql   varchar ( 8000 )   

 set   @sql   =   ' select name,count(name) as 总,sum(mark) as 总分 '   

 select   @sql   =   @sql   +   ' ,count(case class when  ''' + class + '''  then name end)[ ' + class + ' 总数] ,sum(case class when  ''' + class + '''  then mark end) [ ' + class + ' ] '   

 from  ( select   distinct  class  from   temp )  as  s   

  

 select   @sql   =   @sql + '  from temp group by name '   

 select   @sql    

 exec ( @sql )  

END

执行此存储过程有两种方法。

方法一

可以直接用存储过程名执行,此时需要将StoredProcedure属性设置为True:

Dim cmd As new SQLCommand
cmd
.ConnectionName = "数据源名称"
cmd
.CommandText = "GetOrders" '指定存储过程名
cmd
.StoredProcedure = True '表示CommandText内容不是标准的SQL语句,而是存储过程名
Dim
 dt As DataTable = cmd.ExecuteReader


 回到顶部