我有一段javascript的代码,我只是不明白:
function dmy(d) {
function pad2(n) {
return (n < 10) ? '0' + n : n;
}
return pad2(d.getUTCDate()) + '/' +
pad2(d.getUTCMonth() + 1) + '/' +
d.getUTCFullYear();
}
function outerFunc(base) {
var punc = "!";
//inner function
function returnString(ext) {
return base + ext + punc;
}
return returnString;
}
Run Code Online (Sandbox Code Playgroud)
如何在另一个函数中定义函数?我们可以从my()函数外部调用pad2()吗?
请点亮一下.谢谢
我在c#中有一个控制台应用程序,它由Windows任务调度程序在学习时间开始.该应用程序需要来自其自己目录的一些物理文件并System.IO.Directory.GetCurrentDirectory()用于此目的.
正常情况下,当我自己启动控制台应用程序时,它运行正常 但是当它由Windows任务计划程序启动时,它返回C:\Windows\System32.
为什么这不是应用程序目录,还有另外一种方法可以获取应用程序目录吗?
是否可以在SQL Update语句中添加TOP或某种分页?
我有一个UPDATE查询,结果是这样的:
UPDATE XXX SET XXX.YYY = #TempTable.ZZZ
FROM XXX
INNER JOIN (SELECT SomeFields ... ) #TempTable ON XXX.SomeId=#TempTable.SomeId
WHERE SomeConditions
Run Code Online (Sandbox Code Playgroud)
此更新将影响数百万条记录,我需要批量执行此操作.像当时的100.000(排序无关紧要)
最简单的方法是什么?
对于"大"表,是否有任何理由不对可选列的索引进行过滤?
因此,对于列AAA的索引(因为人们可以在AAA上搜索),
我可以将过滤器设置为([AAA] IS NOT NULL).
这节省了存储空间,因此节省了资金.
technet的一些优势:
人们说最好将过滤器放在一个大多数为空的列的索引上.但是为什么我不会对像1%的空的列的索引进行过滤?如果它只有优势,有没有理由不去做?
是否有任何方法可以查看每小时,每个数据库/小时执行的查询数量,或一天中的平均查询数,或者......有趣的是什么?
仅供统计......我喜欢数字.我不能只使用Sql Server Profiler启动跟踪,因为当查询过多时,UI将崩溃.
SQL是否在某处跟踪某些基本的"已执行查询统计信息",或者我是否可以使用任何工具来获取此信息?
(我使用的是SQL Server 2008 R2)
sql statistics performancecounter sql-server-profiler sql-server-2008
当我使用__doPostBack开始回发时,会创建一个文件并返回给用户下载HttpContext.Current.Response.
因为我改变了Response,所以不修改包含其javascript值的页面
但是当我没有要输出的文件时,页面会刷新(因为回发)并且页面上的javascript修改会丢失.
如何"停止"回发继续并保留当前页面?我不能使用异步回发,因为我需要回发让用户下载文件.
编辑:在评论中的一些问题之后的更多信息:
切换到.net 4.0后,来自第三方gridview的一些javascript代码崩溃了.它与HtmlEncode有关,而UrlEncode现在编码单引号
所以在页面上的某些代码插入之前如下:
DataItem.GetMember('Id').Value
现在它是这样的: DataItem.GetMember('Id').Value
gridview eval在该行上执行,并且现在崩溃并出现语法错误.我无法更改该gridview中的javascript代码.
无论如何要解决这个问题,而不是像这样倒退吗?
<pages controlRenderingCompatibilityVersion="3.5" />
Run Code Online (Sandbox Code Playgroud)
编辑:页面controlRenderingCompatiblityVersion也不解决这个问题.单引号仍然是编码的.
从Visual Studio 2008创建网站时,您会看到一个包含一些选项的对话框.其中之一是"使用固定命名和单页组装".
我们没有启用,但这个选项的专业人士和内容是什么?性能或其他方面是否存在差异?我们应该或不应该使用这个?
如果没有这个选项,我们会在发布后在bin文件夹中获取774个文件,当我们检查它时,我们会得到1320个文件,因为每个ascx都有自己的dll.
如果我们检查一下,那么"固定名称"是否只在我的计算机上修复了?或者当同事发布网站时是否相同?
一个WHERE条款有什么好处?
我有一张大桌子,FK到一张小桌子.我可以直接在FK上搜索,或者我可以加入FK表并WHERE在连接表上设置限制.什么是更好/更好?
所以这:
SELECT lt.* FROM LargeTable lt
WHERE lt.SomeId in(12,55)
Run Code Online (Sandbox Code Playgroud)
或这个:
SELECT lt.* FROM LargeTable lt
INNER JOIN SmallTable st ON lt.SomeId=st.ItemId
WHERE st.Id in(12,55)
Run Code Online (Sandbox Code Playgroud)
我测试了这个Set statistics time on,但我没想到这个结果.谁能解释这里发生了什么?
首次测试没有加入:
(946 row(s) affected)
SQL Server Execution Times:
CPU time = 1544 ms, elapsed time = 1580 ms.
Run Code Online (Sandbox Code Playgroud)
第二次测试加入
(946 row(s) affected)
SQL Server Execution Times:
CPU time = 2636 ms, elapsed time = 366 ms.
Run Code Online (Sandbox Code Playgroud)
编辑:当我这样做SELECT Id而不是SELECT *,那么没有连接的第一个查询具有较低的经过时间,并且执行计划中的查询成本对于无连接为25%,对于具有连接的查询为75%.
我有一个带有一些函数和触发器的SQL项目.
在Visual Studio 2010中,我只能指定数据库连接字符串和部署.这很有效.
但是现在迁移到Visual Studio 2013后,当我尝试构建项目时,在生成的sql文件中出现了很多这样的错误:
SQL71501: Trigger: [dbo].[TriggerName] has an unresolved reference
to object [dbo].[TableName]
Run Code Online (Sandbox Code Playgroud)
该如何修复?