小编Lia*_*ath的帖子

动态SQL - 执行时间长 - 仅限第一次

我有存储过程,它根据输入参数构建动态SQL语句,然后执行它.

其中一个查询导致超时,所以我决定检查它.执行问题语句的第一次(也是第一次)它很慢(30秒-45秒),每次下一次执行需要1-2秒.

为了重现这个问题,我正在使用

DBCC FREEPROCCACHE
DBCC DROPCLEANBUFFERS
Run Code Online (Sandbox Code Playgroud)

我真的很困惑,问题出在哪里,因为普通的如果SQL语句很慢,它总是很慢.现在,它只是第一次执行时间很长.

是可能的,本身是缓慢的,需要优化还是问题可能是由别的东西造成的?

执行计划如下,但对我来说没有什么奇怪的:

在此输入图像描述

sql t-sql sql-server sql-server-2012

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

如何确定DateTime中的值是否有效?

我们有一行代码:

DateTime.Now.AddMinutes(-1);
Run Code Online (Sandbox Code Playgroud)

于2015年3月29日凌晨2点在英国举行.返回值为1:59,但由于过渡到夏令时1:59实际上并没有发生,并且导致了进一步的异常.

在我看来,这是.NET中的一个错误,但是代替修复框架如何在以下行抛出异常之前验证这是一个有效的DateTime?

我真的在寻找一种扩展方法.

if(!theDate.IsValidInTimezone(TimeZoneInfo.Local))
{
  // the time is not valid
}
Run Code Online (Sandbox Code Playgroud)

.net c# validation datetime

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

如何从 TSQL 编写存储过程脚本

我知道有一种方法可以做到这一点,因为我已经见过它了——我只是不记得怎么做了。

我想运行一个 SQL 命令,该命令将返回脚本以创建存储过程作为结果。

我怎样才能做到这一点?

sql stored-procedures

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

JQuery UI捕捉到元素中的网格

我有两个div,我正在使用JQueryUI库将一个div放到另一个div中.

我想将可拖动的div捕捉到drop div中的网格而不是整个页面中的网格.我发现snap属性要捕捉到drop元素,我还发现了grid属性将它捕捉到网格但有没有办法将两者合并?

$( "#draggable" ).draggable({ grid: [ 50, 50 ] });
Run Code Online (Sandbox Code Playgroud)

我能想到的唯一其他解决方法是使用许多较小的快照div来填充drop div,这是我不喜欢的方法!

jquery drag-and-drop jquery-ui

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

按参数列表筛选SQL查询

我有一个查询,我想返回与值列表关联的所有行.你可以这么简单地写成:

select * from TableA where ColumnB in (1, 2, 3, 5)
Run Code Online (Sandbox Code Playgroud)

我可以用C#生成这个查询并执行它.然而,这显然不太理想,因为它不使用参数,它会在尝试缓存查询计划时受到影响,并且显然容易受到SQL注入攻击.

另一种方法是将其写为:

select * from TableA where ColumnB = @value
Run Code Online (Sandbox Code Playgroud)

这可以通过C#执行多次,但这会导致N DB命中.

我能看到的另一个替代方案是创建一个临时表并以这种方式加入它,但是我没有看到这一点,因为它会更复杂并且受到与第一个选项相同的限制.

我正在使用SQL Server和OLDB,创建查询不是问题.我正在努力创造最有效的流程.

这三种方法中哪一种更有效?我错过了替代方案吗?

c# sql sql-server performance sql-server-2008

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

使用CSharpCodeProvider引用项目时找不到元数据文件'Domain.dll'

我有一个带有两个程序集的解决方案,其中一个称为Domain,包含一个Book类和一个Author类.

我想动态创建一个继承自Book类的类.这是我的代码:

public Book CreateBookProxy(Book book)
    {
      CSharpCodeProvider cscp = new CSharpCodeProvider(new Dictionary<String, String> { { "CompilerVersion", "v3.5" } });
      var parameters = new CompilerParameters(new[] { "mscorlib.dll", "System.Core.dll", "Domain.dll" }, "Proxies.dll", false);
      parameters.GenerateExecutable = false;

      var compileUnit = new CodeCompileUnit();
      var ns = new CodeNamespace("Proxies");
      compileUnit.Namespaces.Add(ns);
      ns.Imports.Add(new CodeNamespaceImport("System"));
      ns.Imports.Add(new CodeNamespaceImport("Domain"));

      var classType = new CodeTypeDeclaration("BookProxy");
      classType.Attributes = MemberAttributes.Public;
      classType.BaseTypes.Add(new CodeTypeReference(typeof(Book)));
      ns.Types.Add(classType);
      var results = cscp.CompileAssemblyFromDom(parameters, compileUnit);

      List<string> errors = new List<string>();
      errors.AddRange(results.Errors.Cast<CompilerError>().Select(e => e.ErrorText));

      return Activator.CreateInstance(Type.GetType("Proxies.BookProxy, Proxies")) as Book;
    } …
Run Code Online (Sandbox Code Playgroud)

c#

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

如何在多个OS版本上测试Windows应用程序

我用VS2010开发了我的Winform应用程序,并在Win7操作系统上运行,但我想在所有主要的Windows操作系统上测试或运行它,如XP,Vista,Windows 7和Windows 8以及Windows 2008/2012服务器等.

我想到的很简单,我可以在多台PC上安装所有操作系统并在所有PC上测试我的应用程序,但这个过程非常耗时.

所以我想在现实生活中了解一家优秀的软件公司如何在发布之前在多个win操作系统上测试他们的应用程序.是否存在可以帮助我或使工作更轻松的工具?

c# windows winforms

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

在C#中创建没有只读属性的文件夹

我正在尝试从我的应用程序在'c:\'文件夹中创建一个文件夹(例如:c \),但此文件夹始终以"只读"权限创建.

我尝试过以下代码,但仍然无法更改属性.请帮我.,

方法1

var di = new DirectoryInfo(temppath);
File.SetAttributes(temppath, FileAttributes.Normal);
File.SetAttributes(temppath, FileAttributes.Archive); */
Run Code Online (Sandbox Code Playgroud)

方法2

di.Attributes = di.Attributes | ~FileAttributes.ReadOnly;
File.SetAttributes(temppath, File.GetAttributes(temppath) & ~FileAttributes.ReadOnly);
Run Code Online (Sandbox Code Playgroud)

方法3

foreach (string fileName in System.IO.Directory.GetFiles(temppath))
{
    System.IO.FileInfo fileInfo = new System.IO.FileInfo(fileName);

    fileInfo.Attributes |= System.IO.FileAttributes.ReadOnly;
    // or
    fileInfo.IsReadOnly = false;
}
Run Code Online (Sandbox Code Playgroud)

所有这些方法都不起作用或只是更改文件的属性而不是文件夹.

c# file

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

如何让一个元素每5秒震动一次?

我有一个具有以下结构的 html:

<li><a class="" href="?sort-by=popular">Barang Terpopuler</a></li>
Run Code Online (Sandbox Code Playgroud)

如何使用 jQuery 让这个元素每 5 秒摇动一次(左右移动)?有为此内置的动画吗?

javascript jquery

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

扔哪个Null Exception?

请考虑以下类和方法:

public class MyDto
{
    public MyDtoChild Child {get; set;}
}
Run Code Online (Sandbox Code Playgroud)

public void ProcessDto(MyDto myDto)
{
    if(myDto == null) throw new ArgumentNullException("myDto");
    this.CheckSomething(myDto.Child.ChildProperty);
}
Run Code Online (Sandbox Code Playgroud)

如果使用MyDto带有null的方法调用Child它自己的设备,则会抛出一个NullReferenceException在更复杂的方法中诊断起来非常困难.

通常我ArgumentNullException在方法的开头抛出一个如果myDto为null但是如果为null则抛出适当的异常myDto.Children是什么?一个ArgumentNullException?一个NullReferenceException?自定义异常?

c# exception

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