小编rue*_*edi的帖子

用什么?查看或临时表

我有一个问题来决定是使用视图还是临时表.

我有一个存储过程,我从程序调用.在该SP中,我将长查询的结果存储在临时表中,命名列并在该表上进行另一个查询,将结果存储在标签或网格视图或其他内容中,然后删除临时表.我还可以将查询结果存储在视图中并对该视图进行查询.那么什么是更好或者在什么情况下我必须使用VIEW/Temp表.

根据我的研究,视图具有以下优点:安全性,简单性和列名称规范.我的临时表也完成了所有这些(根据我的意见).

sql sql-server view temp-tables

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

使用IDisposable清理Excel Interop对象

在我的公司中,发布Excel Interop Objects的常用方法是使用IDisposable,方法如下:

Public Sub Dispose() Implements IDisposable.Dispose
    If Not bolDisposed Then
        Finalize()
        System.GC.SuppressFinalize(Me)
    End If
End Sub

Protected Overrides Sub Finalize()
    _xlApp = Nothing
    bolDisposed = True
    MyBase.Finalize()
End Sub
Run Code Online (Sandbox Code Playgroud)

IDisposable构造函数中以下列方式创建的位置:

Try
    _xlApp = CType(GetObject(, "Excel.Application"), Excel.Application)
Catch e As Exception
    _xlApp = CType(CreateObject("Excel.Application"), Excel.Application) 
End Try
Run Code Online (Sandbox Code Playgroud)

并且客户端使用_xlApp执行有关excel互操作对象的代码.

我们完全避免使用双点规则.现在我开始研究如何重新发布(Excel)互操作对象以及我发现的几乎所有关于它的讨论如何正确清理excel互操作对象释放Excel对象主要使用Marshal.ReleaseComObject(),它们都没有使用IDisposable接口.

我的问题是:使用IDisposable Interace释放excel互操作对象有什么缺点吗?如果是这样,这些不利因素是什么.

.net vb.net excel interop com-interop

25
推荐指数
1
解决办法
7778
查看次数

带冒号的函数参数

我刚刚遇到了这个功能:

def splitComma(line: str):
    splits = Utils.COMMA_DELIMITER.split(line)
    return "{}, {}".format(splits[1], splits[2])
Run Code Online (Sandbox Code Playgroud)

我知道您可以用分隔参数,也可以在a = 39之类的参数中设置值,但我还没有看到像line:str这样的冒号。我已经在线检查了功能定义,但找不到类似的东西。这个冒号是什么意思?

python function

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

如何在不将数据上传到云中的情况下使用Power BI Desktop

我想在我的MVC应用程序中使用Power BI Desktop.我所能找到的就是将数据[1],[2]上传到云中,但由于我正在使用合理的公司数据,因此这不是我的选择.您知道有什么解决方法吗?

如果不是这样,还有其他选择吗?

cloud asp.net-mvc business-intelligence powerbi

7
推荐指数
1
解决办法
1482
查看次数

Linq是否会产生裁员?

通过使用连接参考如何:使用Linq组合数据的示例.我们有两个列表,第一个持有人物对象(名字和姓氏).第二个List包含持有人物对象(宠物主人)的宠物对象(名称).一个人可以拥有> = 0只宠物.

现在发生的事情是我进行了群组加入

Dim result1 = From pers in people
            Group Join pet in pets
            on pers Equals pet.Owner
            Into PetList = Group
Run Code Online (Sandbox Code Playgroud)

LinqPad向我展示了结果:

LinqPad输出

这对我来说就像Linq产生了很多冗余(但我可能在这里错了!).第一个结果对象将三次保持person对象.这里出现了两个问题,作为一个Linq nooby(但也许我读的输出不是正确的方式):

  1. 这个人是对象引用吗?不幸的是我找不到任何关于它的东西.
  2. 按照上面提到的示例,查询继续
Select pers.FirstName , pers.LastName,
PetName = If(pet is Nothing, String.Empty, pet.Name)
Run Code Online (Sandbox Code Playgroud)

如果我们在PetList中有关于Person对象的所有信息,为什么不只是查询这个对象?在我看来,我们不再需要pers Object了.

c# linq vb.net linqpad

5
推荐指数
1
解决办法
183
查看次数

环境和命名空间的区别

我知道来自其他语言的命名空间是什么,但在 RI 中找不到环境和命名空间之间的区别。任何人都可以解释这一点,因为在我读过的教程(作为 R 编程的艺术和其他人)中,我找不到区别?

r

5
推荐指数
1
解决办法
1033
查看次数

函数名周围的方括号

我现在试图理解委托,并偶然发现了以下代码段:

Function [Select](ByVal numbers As List(Of Integer), ByVal filter As Filter) As List(Of Integer)
    Dim result As New List(Of Integer)
    For Each number In numbers
        ' call delegate
        If filter(number) = True Then
            result.Add(number)
        End If
    Next
    Return result
End Function
Run Code Online (Sandbox Code Playgroud)

我搜索了一个解释,但我能找到的只是这个,但这并不能帮助我理解我找到的片段。谁能帮我理解方括号[Select]的用途?

.net vb.net syntax square-bracket

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

GroupBy vb.net和c#之间的区别

我正在使用linq教程,其中代码是用c#编写的,并尝试将片段翻译成vb.net.以下是在c#下工作:

var employeeGroups = from employee  in Employee.GetAllEmployees()
                     group employee by employee.Deptartment;
Run Code Online (Sandbox Code Playgroud)

我可以把它翻译成扩展方法

Dim group1 = Employee.GetAllEmployees.GroupBy(Function(x) x.Department)
Run Code Online (Sandbox Code Playgroud)

工作得很好但是

Dim group = From emp In Employee.GetAllEmployees
            Group emp By emp.Department
Run Code Online (Sandbox Code Playgroud)

给我一个编译错误'进入预期'.我无法找到任何关于它的信息,但是它是正确的,我必须在vb中使用'INTO'而不是在c#中使用它?如果是这样,我如何调整我的查询以适应c#aquivalent?

c# linq vb.net

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

如何将查询的CTE输出保存到临时表或表变量中

我有一个CTE查询这个

;With CTE_Table as (SELECT ...)
Select * from CTE_Table
Run Code Online (Sandbox Code Playgroud)

现在我尝试将此结果保存到table variabletemporary table.如果我试试

Declare @Table table
(...)
INSERT INTO @Table (...)
HER I PUT THE CODE ABOVE
Run Code Online (Sandbox Code Playgroud)

我得到一个incorrect syntax error周围的WITH声明.我猜这个Insert Into命令期望Select statement代替a 而不是;WITH同样的代价Create Table.我一直在寻找解决方案,但我找到的所有解决方案都没有涉及Select Statement;With.如何将上面显示的输出变为temporary tabletable variable

我使用SQL Server 2014.

sql t-sql common-table-expression table-variable sql-server-2014

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

多种条件下的熊猫面具

在我的数据框中,我想用 nan 替换低于 1 和高于 5 的每个值。

此代码有效

persDf = persDf.mask(persDf < 1000)
Run Code Online (Sandbox Code Playgroud)

我得到了作为 nan 的所有价值,但这个没有:

persDf = persDf.mask((persDf < 1) and (persDf > 5))
Run Code Online (Sandbox Code Playgroud)

我不知道为什么会这样。我已经检查了手册页和关于明显类似问题的不同解决方案,但找不到解决方案。有没有人有想法可以帮助我解决这个问题?

python mask nan pandas

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