问题列表 - 第368页

接受多个Id值的T-SQL存储过程

是否有一种优雅的方法来处理将id列表作为参数传递给存储过程?

例如,我希望我的存储过程返回的部门1,2,5,7,20.在过去,我已经通过逗号分隔的id列表,如下面的代码,但感觉真的很脏.

我认为SQL Server 2005是我唯一适用的限制.

create procedure getDepartments
  @DepartmentIds varchar(max)
as
  declare @Sql varchar(max)     
  select @Sql = 'select [Name] from Department where DepartmentId in (' + @DepartmentIds + ')'
  exec(@Sql)
Run Code Online (Sandbox Code Playgroud)

t-sql sql-server stored-procedures

144
推荐指数
2
解决办法
14万
查看次数

测量C++中的异常处理开销

在C++中测量异常处理开销/性能的最佳方法是什么?

请提供独立的代码示例.

我的目标是Microsoft Visual C++ 2008和gcc.

我需要从以下案例中获得结果:

  1. 没有try/catch块时的开销
  2. 有try/catch块时的开销但不抛出异常
  3. 抛出异常时的开销

c++ performance gcc exception visual-c++

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

为Windows编写控制台样式应用程序的良好资源?

对于某些程序,没有什么比命令行更好.不幸的是,我从未见过如何编写超出"Hello World"的控制台应用程序的好文档或示例.我有兴趣制作像VimEmacs这样的控制台应用程序.好吧不完全像Vim或Emacs,但是它在使用时接管整个命令提示符,然后在退出后不留下任何痕迹.我知道在Unix上有curses库但是对于Windows?...

windows console command-line cmd

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

比较.NET中的两个字节数组

我怎么能快速做到这一点?

当然,我可以这样做:

static bool ByteArrayCompare(byte[] a1, byte[] a2)
{
    if (a1.Length != a2.Length)
        return false;

    for (int i=0; i<a1.Length; i++)
        if (a1[i]!=a2[i])
            return false;

    return true;
}
Run Code Online (Sandbox Code Playgroud)

但我正在寻找BCL功能或一些经过高度优化的可靠方法来实现这一目标.

java.util.Arrays.equals((sbyte[])(Array)a1, (sbyte[])(Array)a2);
Run Code Online (Sandbox Code Playgroud)

很好地工作,但它看起来不适用于x64.

请注意我的超快速的答案在这里.

.net c# j# arrays performance

513
推荐指数
15
解决办法
29万
查看次数

如何在django中生成网址

在Django的模板语言中,您可以使用{% url [viewname] [args] %}生成带有参数的特定视图的URL.你怎么能以编程方式在Python代码中做同样的事情?

我需要的是创建一个菜单项列表,其中每个项目都有名称,URL和活动标志(无论它是否是当前页面).这是因为在Python中执行此操作比使用模板语言要清晰得多.

python django url django-urls

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

在PHP中设置变量类型

我知道我可以做类似的事情

$int = (int)99; //(int) has a maximum or 99
Run Code Online (Sandbox Code Playgroud)

将变量$int设置为整数并为其赋值99.

有没有办法在PHP 中将类型设置为LongBlobMySQL for LARGEIntegers?

php variable-types

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

我可以使用Python编写原生iPhone应用程序吗?

使用PyObjC,您可以使用Python为OS X编写Cocoa应用程序.我可以使用Python编写本机iPhone应用程序吗?如果是,如何编写?

python iphone cocoa-touch

88
推荐指数
8
解决办法
16万
查看次数

NHibernate ISession Flush:何时何地使用它,为什么?

令我彻底混淆的一件事是使用session.Flush,和session.Commit,和session.Close.

有时session.Close工作,例如,它提交我需要的所有更改.我知道我需要在有事务时使用提交,或者需要在具有多个创建/更新/删除的工作单元中使用提交,以便我可以选择在发生错误时回滚.

但有时我真的被后面的逻辑所困扰session.Flush.我已经看到了一些示例,其中有一个session.SaveOrUpdate()后续的同花顺,但是当我删除Flush时它无论如何都能正常工作.有时我在Flush语句中遇到错误,说会话超时,并删除它确保我没有遇到该错误.

有没有人有关于何时何地使用同花顺的良好指导方针?我已经检查了NHibernate文档,但我仍然找不到简单的答案.

.net nhibernate session flush

185
推荐指数
2
解决办法
7万
查看次数

值得转换到zsh供临时使用?

Mac OS X中的默认shell是bash,我通常很乐意使用它.我认为这是理所当然的.如果它能够自动完成更多的东西,那将是非常好的,我zsh在这方面听到了很多好的东西.但我真的不想花费数小时摆弄设置来提高我的命令行使用量,因为我在命令行上的生活并没有那么糟糕.

(据我所知,bash也可以配置为更聪明地自动完成.这是配置我不是那么热衷.)

zsh即使在少数情况下,转换到我的生活会更轻松吗?或者,如果你花时间去了解为什么它更好,它只是一个更好的外壳吗?(例子也很好:))


@ Rodney Amato 和@ Vulcan Eager 给出了两个很好的理由分别坚持bash并切换到zsh.看起来我要调查两个!那好吧:)

是否有人对争论的双方都有意见?

bash shell zsh

190
推荐指数
5
解决办法
7万
查看次数

什么对C++插件系统安全?

C++中的插件系统很难,因为ABI没有正确定义,每个编译器(或其版本)都遵循自己的规则.但是,Windows上的COM表明,可以创建一个最小的插件系统,允许具有不同编译器的程序员使用简单的界面为主机应用程序创建插件.

让我们变得实用,并且在这方面保留C++标准,除了一分钟之外.如果我想为支持C++插件的Windows和Mac(以及可选的Linux)编写应用程序,并且我想为插件作者提供相当多的编译器选择(比如说不到2年的Visual C++版本) ,GCC或英特尔的C++编译器),我可以依靠C++的哪些特性?

当然,我认为插件是针对特定平台编写的.

在我的脑海中,这里有一些我能想到的C++特性,我认为答案是:

  • vtable布局,通过抽象类使用对象?(是)
  • 内置类型,指针?(是)
  • 结构,工会?(是)
  • 异常?(没有)
  • 外部"C"功能?(是)
  • 带有内置参数类型的stdcall非外部"C"函数?(是)
  • 非stdcall非外部"C"函数与用户定义的参数类型?(没有)

我很感激您在该领域的任何经验,您可以分享.如果您知道任何具有C++插件系统的中等成功应用程序,那也很酷.

卡尔

c++ compiler-construction api plugins

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