zoukankan      html  css  js  c++  java
  • 发现一个Exec执行执行存储过程的问题

     Set @SqlstrGetCount = 'SELECT  @TotalRowsCount = COUNT(*) FROM EventLog where '
     
    DECLARE @ParameterDefinition Nvarchar(4000)
     
    SET @ParameterDefinition = ' 
           @TotalRowsCount  int ,
           @EventLogType tinyint,
           @Category nvarchar(20),
           @UserName nvarchar(20),
           @BeginTime dateTime,
           @EndTime dateTime
    '
     
    EXEC  sp_executesql @SqlstrGetCount@ParameterDefinition ,@TotalRowsCount ,@EventLogType,@Category,@UserName,@BeginTime,@EndTime

      发现 
    @TotalRowsCount 始终为0 ,百思不得其解,后来只好换为:

     
    Set @SqlstrGetCount = 'SELECT  COUNT(*) as TotalRowsCount  FROM EventLog where '
     
    DECLARE @ParameterDefinition Nvarchar(4000)
     
    SET @ParameterDefinition = ' 
         @EventLogType tinyint,
         @Category nvarchar(20),
         @UserName nvarchar(20),
         @BeginTime dateTime,
         @EndTime dateTime
    '
     
    EXEC  sp_executesql @SqlstrGetCount@ParameterDefinition ,@EventLogType,@Category,@UserName,@BeginTime,@EndTime

    在MS SQL中,写函数时,参数一定不要忘了给范围大小,上次遇到这个问题查了我好久啊!~不知道其它数据库会不会也这样!

  • 相关阅读:
    ios 属性的特性
    ios 线程锁 与 线程交互
    iOS 变量名前为什么要加_下划线
    ios 常见问题
    ios 沙盒
    ios 去掉屏幕键盘的方法
    UITableView方法详解
    Image View、Text Field、Keyboard 隐藏键盘
    用php 进行对文件的操作 (上)
    文件上传-------头像上传预览
  • 原文地址:https://www.cnblogs.com/xiaowy/p/476753.html
Copyright © 2011-2022 走看看