小编Lyn*_*ler的帖子

如何对接收FormCollection的方法进行单元测试以上传文件?

我想对以下方法进行单元测试:

public ActionResult StoreFile(FormCollection form, string _paginaAtual)
{
     Session["MySession"] = 1
     if (Request.Files["uploadedFiles"] != null)
         {
             //do something about the file
         }
     return View()
}
Run Code Online (Sandbox Code Playgroud)

它在我的"SomeController.cs"控制器类中,当用户在简单的input type ="file"HTML输入中提交文件时调用它.

PS:纯粹主义者要小心:我知道这不是一个"纯粹的"单元测试,我只想在测试环境中调用该方法并检查它是否在系统中进行了所需的改变.

谢谢大家对这个主题的任何启发,Lynx.

c# asp.net-mvc unit-testing file-upload input-type-file

6
推荐指数
1
解决办法
2320
查看次数

cursor用于更新前一行和当前行中的值的行

查询作家,

我有一张表如下:

myTable t1
col2 col3
 2    1
 3    0
 4    0
 5    0
 6    0
Run Code Online (Sandbox Code Playgroud)

我想更新col3上的每个零,前一行中col3的值加上当前行中col2的值.所以我的表格会如下:

myTable t1
col2 col3
 2    1 
 3    4  (1+3)
 4    8  (4+4)
 5    13 (5+8) 
 6    19 (6+13)
Run Code Online (Sandbox Code Playgroud)

我错过了这里的逻辑,也许是短视.我用光标尝试如下:

DECLARE @var3 FLOAT

DECLARE cursor3 CURSOR FOR
SELECT col2, col3 FROM table1
FOR UPDATE OF col3
OPEN cursor3


FETCH FIRST FROM cursor3
WHILE (@@FETCH_STATUS > -1)
BEGIN
 UPDATE @table1
 SET col3 = isnull(@var3, 0) + isnull(col2, 0)
 WHERE CURRENT OF cursor3
 FETCH NEXT FROM …
Run Code Online (Sandbox Code Playgroud)

sql select sql-server-2005 cursor

6
推荐指数
1
解决办法
3万
查看次数

SQL Server 2005'之间'运算符行为 - 错误还是功能?

根据microsoft文档,'BETWEEN'运算符的行为应该是左侧和右侧的闭合区间,但是,以下代码:

SELECT CASE WHEN (1 BETWEEN 1 AND 2) THEN 'YEAH' ELSE 'NO' END AS [closed in the left],
       CASE WHEN (1 BETWEEN 2 AND 1) THEN 'YEAH' ELSE 'NO' END AS [closed in the right]
Run Code Online (Sandbox Code Playgroud)

另有说明.你能重现吗?你怎么看?

sql t-sql sql-server sql-server-2005

6
推荐指数
2
解决办法
827
查看次数

如何检查列表是否具有任何不同的值

我有一个如下表:

(date1, date2, date3, date4, date5)
Run Code Online (Sandbox Code Playgroud)

我想检查这些日期中的任何一个是否与其他日期不同.简单的解决方案是:

WHERE date1 <> date2
   OR date1 <> date3
   OR date1 <> date4
   OR date1 <> date5
   OR date2 <> date3
   OR date2 <> date4
   OR date2 <> date5
   OR date3 <> date4
   OR date3 <> date5
   OR date4 <> date5
Run Code Online (Sandbox Code Playgroud)

任何重要的解决方案?

sql t-sql sql-server logic operators

4
推荐指数
1
解决办法
200
查看次数

避免子查询

研究员,我的查询如下:

SELECT A.ID, B.ID, (HUGE SUBQUERY) as HS
FROM TABLE_A JOIN TABLE_B ON A.ID = B.ID
WHERE (HUGE SUBQUERY) > 0
Run Code Online (Sandbox Code Playgroud)

我想避免重复子查询.有没有办法像我这样重写我的WHERE

WHERE HS > 0
Run Code Online (Sandbox Code Playgroud)

或者我必须将子查询转换为连接?

sql t-sql sql-server-2005 subquery where-clause

2
推荐指数
2
解决办法
637
查看次数

检索每个客户的最新记录

我有这些数据:

ID   NAME   DATE
3    JOHN   2011-08-08
2    YOKO   2010-07-07
1    JOHN   2009-06-06
Run Code Online (Sandbox Code Playgroud)

代码(适用于SQL Server 2005):

DECLARE @TESTABLE TABLE (id int, name char(4), date smalldatetime) 
INSERT INTO @TESTABLE VALUES (3, 'JOHN', '2011-08-08')
INSERT INTO @TESTABLE VALUES (2, 'YOKO', '2010-07-07')
INSERT INTO @TESTABLE VALUES (1, 'JOHN', '2009-06-06')
Run Code Online (Sandbox Code Playgroud)

我想为每个NAME获取具有最新DATE的ID.像这样:

3    JOHN   2011-08-08
2    YOKO   2010-07-07
Run Code Online (Sandbox Code Playgroud)

实现这一目标最优雅的方式是什么?

sql t-sql sql-server sql-server-2005 greatest-n-per-group

2
推荐指数
1
解决办法
5006
查看次数