问题列表 - 第46797页

SQL Server是否优化了LIKE('%%')查询?

我有一个存储过程来执行记录搜索.

问题是来自UI的一些搜索条件可能是空字符串.因此,当未指定条件时,LIKE语句变得多余.

我怎样才能有效地执行该搜索或Sql Server?或者,它是否优化了LIKE('%%')查询,因为它意味着没有可比较的内容?

存储过程是这样的:

ALTER PROC [FRA].[MCC_SEARCH]
@MCC_Code varchar(4),
@MCC_Desc nvarchar(50),
@Detail nvarchar(50)
AS
BEGIN             
       SELECT
             MCC_Code,
             MCC_Desc,
             CreateDate,
             CreatingUser

       FROM
              FRA.MCC (NOLOCK)
       WHERE
             MCC_Code LIKE ('%' + @MCC_Code + '%')
             AND MCC_Desc LIKE ('%' + @MCC_Desc + '%')
             AND Detail LIKE ('%' + @Detail + '%')
       ORDER BY MCC_Code

END
Run Code Online (Sandbox Code Playgroud)

sql sql-server search stored-procedures sql-like

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

TSQL - 当sp不包含return时从sp返回值

我有一个由另一个存储过程调用的存储过程

ALTER PROCEDURE [dbo].[usp_Test] 
AS
begin
declare @errorCode int
declare @lastIdentity int
select @errorCode = @@ERROR
    if @errorCode=0
    begin
        update Vehicle  set model='1996----------'
            where Make='MERC'
        select @errorCode = @@ERROR
        select @lastIdentity = @@IDENTITY
    end 

print 'usp_test lastIdentity='  + convert(varchar(10), isnull(@lastIdentity,0)) 
print 'usp_test errorCode=' + convert(varchar(10), @errorCode) 

end
Run Code Online (Sandbox Code Playgroud)

如果我像这样调用存储过程

declare @RetVal int

exec @RetVal=usp_Test

print 'return value is ' + convert(varchar(10), @RetVal)
Run Code Online (Sandbox Code Playgroud)

我收到以下消息

消息8152,级别16,状态14,过程usp_Test,行14字符串或二进制数据将被截断.该语句已终止.usp_test lastIdentity = 0 usp_test errorCode = 8152返回值为-6

通过在结尾处添加RETURN 0并在select @errorCode之后添加RETURN @errorCode ...我将有一个很好的清除方式来返回错误并随后处理它.我很惊讶,如果没有任何RETURN,我会得到-6的返回值.任何人都可以解释为什么会这样吗?

sql t-sql

0
推荐指数
1
解决办法
3259
查看次数

我应该在Java中使用JavaDoc弃用还是注释?

目前,有两种方法可以将代码标记为java中的depreacted.

通过JavaDoc

/**
 * @deprecated
 */
Run Code Online (Sandbox Code Playgroud)

或者作为注释:

@Deprecated
Run Code Online (Sandbox Code Playgroud)

这是我的问题 - 当使用Eclipse将方法标记为已弃用时,我发现声明两者都有点太多了.我真的只想用其中一个.

但是,使用注释会给编译器提供实际有用的附加信息吗?

但是只使用注释,我无法说明为什么该方法被弃用 - 我只能用JavaDoc做到这一点,并且弃用方法而不指出为什么不好.

那么,我可以只使用其中一个吗?或者我应该真的学会指定两者?

java annotations javadoc deprecated

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

Server.MapPath - 给定的物理路径,预期的虚拟路径

我正在使用这行代码:

var files = Directory.GetFiles(Server.MapPath("E:\\ftproot\\sales"));
Run Code Online (Sandbox Code Playgroud)

找到文件夹中的文件,但我收到错误消息说

"物理路径给定但预期虚拟路径".

我在C#中使用System.IO是否足够新,所以我想知道是否可以输入物理路径来执行此操作?

c# asp.net

39
推荐指数
2
解决办法
10万
查看次数

文件上传的调用功能

我有一个用来上传文件的表格。在当前情况下,如果用户从计算机上选择图像,则他必须单击按钮上载以上传图像。我正在尝试找到一种方法,只需按下按钮即可跳过此步骤。

从用户选择文件后如何调用javascript函数?

javascript jquery

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

何时使用哪种设计模式?

我非常喜欢设计模式,但是我发现很难看到什么时候可以申请.我已经阅读了许多解释设计模式的网站.我对它们中的大部分都了解,但我发现很难在自己的情况下识别出一种模式.

所以,这就是我提出这个问题的原因.在使用哪种设计模式时是否有任何指导/警钟?

例如,如果您正在执行switch语句以确定需要创建哪个对象,则可能需要使用工厂设计模式.因此,在这种情况下,switch语句是使用Factory模式的"警钟".

那么,你知道更多的"警钟"来确定设计模式吗?

c# design-patterns

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

公共事件EventHandler SomeEvent = delegate {};

我有点厌倦了在代码中发现所有这些无用的噪音:

private void RaiseSomeOtherEventIfItIsNotNull()
{
    if (this.SomeOtherEvent != null)
    {
        this.SomeOtherEvent(this, EventArgs.Empty);
    }
}
Run Code Online (Sandbox Code Playgroud)

在99.9%的案例中,我不在乎是否有人附加或者是否为空.刚举起活动!我真的不明白为什么c#编译器会让我写出所有这些噪音.

所以我虽然可以声明这样的事件:

public event EventHandler SomeOtherEvent = delegate { };
Run Code Online (Sandbox Code Playgroud)

这将允许我摆脱无用的空检查和无用的Raise*方法.我可以随时做:

this.SomeOtherEvent(this, EventArgs.Empty);
Run Code Online (Sandbox Code Playgroud)

现在,当我在LutzRöder的Reflector中将标准方法与"我的"方法进行比较时,我发现了一些显着的差异.编译器已覆盖,Add{}并且Remove{}匿名委托有一个额外的静态实例:

[CompilerGenerated] 
private static EventHandler CS$<>9__CachedAnonymousMethodDelegate1;
Run Code Online (Sandbox Code Playgroud)

并且有这样的:

.method private hidebysig static void <.ctor>b__0(object, class [mscorlib]System.EventArgs) cil managed
{
    .custom instance void [mscorlib]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor()
    .maxstack 8
    L_0000: nop 
    L_0001: ret 
}
Run Code Online (Sandbox Code Playgroud)

现在我的问题:您是否在使用默认初始化这样的十进制事件中看到了任何问题或缺点?

c# events

0
推荐指数
1
解决办法
6092
查看次数

使用gridview显示SDCard上特定文件夹的图像

我正在尝试创建一个gridview,它载有来自SDCard上的特定文件夹的图像.该文件夹的路径是已知的,("/ sdcard/pictures"),但在我在网上看到的示例中,我不确定如何或在何处指定图片文件夹的路径,我想从中加载图像.我已经阅读了几十个教程,甚至是developer.android.com上的HelloGridView教程,但这些教程并没有教会我正在寻找什么.

我到目前为止阅读的每个教程都有:

A)从/ res文件夹中将图像称为Drawable,并将它们放入要加载的数组中,而不是使用SDCard.

B)使用MediaStore 访问SDCard上的所有图片,但未指定如何设置我想要显示图像表单的文件夹的路径

要么

C)建议使用BitmapFactory,我没有丝毫的线索如何使用.

如果我以错误的方式解决这个问题,请告诉我,并指导我采取正确的方法来做我想做的事情.

android gridview uri android-sdcard bitmapfactory

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

了解应用程序在可可mac OSX中是否处于非活动状态的最佳方法?

所以,我正在建立一个将在公共场所展出的节目,我有一个任务是为它做一个不活跃的状态.只需在屏幕上的文件夹中显示一些随机视频,如屏幕保护程序,但在应用程序中.

那么检查用户是否处于非活动状态的最佳和正确方法是什么?

我正在考虑的是某种全局计时器,它会在每个用户输入上重置,如果达到,则让它说1分钟进入非活动模式.有没有更好的方法?

macos cocoa objective-c

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

删除临时目录

我在这里找到了一些用于在 Java 中创建临时目录的代码。

public static File createTempDirectory() throws IOException
{
    final File temp;
    temp = File.createTempFile("temp", Long.toString(System.nanoTime()));

    if(!(temp.delete()))
    {
        throw new IOException("Could not delete temp file: " + temp.getAbsolutePath());
    }
    if(!(temp.mkdir()))
    {
        throw new IOException("Could not create temp directory: " + temp.getAbsolutePath());
    }
    return temp;
}
Run Code Online (Sandbox Code Playgroud)

我怎样才能在 servlet 生命周期结束时处理这个临时目录并删除它?

java servlets temporary-directory

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