今天早上我遇到了一些奇怪的事情,并认为我会提交评论.
有人可以解释为什么以下SQL查询在针对SQL 2008运行时打印"相等".数据库兼容级别设置为100.
if '' = ' '
print 'equal'
else
print 'not equal'
Run Code Online (Sandbox Code Playgroud)
这返回0:
select (LEN(' '))
Run Code Online (Sandbox Code Playgroud)
它似乎是自动修剪空间.我不知道在以前版本的SQL Server中是否就是这种情况,我不再需要测试它.
我遇到了这个,因为生产查询返回了错误的结果.我无法在任何地方找到这种行为.
有没有人有这方面的任何信息?
我的意思是,作为一个普通的开发人员,我会用Expression Blend实现一些我不会使用VS的东西吗?我不知道Expression Blend,乍一看看起来不是很友好/容易学习.
你在那里做什么?值得花时间学习使用它,或者我将和VS一样做?
谢谢!
编辑:我知道微软对这些工具的评价.我想知道的是,作为像我这样的开发人员,你是否尝试过Expression Blend并发现这是浪费时间,或者你认为它是一个很好的工具,你停止从VS开发WPF GUI并切换到EB.
我将tomcat配置为使用不同的外部开源.
但是,在tomcat运行几分钟后,我得到:
严重:Web应用程序[/ MyProject]创建了一个ThreadLocal,其键为[java.lang.ThreadLocal](值为[java.lang.ThreadLocal@1b3f02f]),值为[org.apache.axis.MessageContext](值[org.apache.axis.MessageContext@5dbd4e])但在Web应用程序停止时无法将其删除.这很可能造成内存泄漏.
什么可能导致它?
我在哪里看?它可能是Tomcat上的数据池吗?
什么是Tomcat中的线程?
EDITED
这是我的完整痕迹.该应用程序似乎在它仍在运行时重新加载其上下文 - 我不知道为什么!
Mar 13, 2011 10:56:12 PM org.apache.catalina.core.StandardContext reload
INFO: Reloading this Context has started
Mar 13, 2011 10:56:12 PM org.apache.catalina.core.StandardWrapper unload
INFO: Waiting for 1 instance(s) to be deallocated
Mar 13, 2011 10:56:13 PM org.apache.catalina.core.StandardWrapper unload
INFO: Waiting for 1 instance(s) to be deallocated
Mar 13, 2011 10:56:14 PM org.apache.catalina.core.StandardWrapper unload
INFO: Waiting for 1 instance(s) to be deallocated
Mar 13, 2011 10:56:14 PM org.apache.catalina.core.ApplicationContext log
INFO: Closing Spring root …
Run Code Online (Sandbox Code Playgroud) 如果查询没有返回任何行,是否有任何简单的方法可以返回单个标量或默认值?
此刻我有类似这样的代码示例:
IF (EXISTS (SELECT * FROM Users WHERE Id = @UserId))
SELECT Name FROM Users WHERE Id = @UserId
ELSE
--default value
SELECT 'John Doe'
Run Code Online (Sandbox Code Playgroud)
如何在不使用IF-ELSE的情况下以更好的方式做到这一点?
如何使用Linq从每个组中选择Top值
当我有一个代码段,如:
var teams = new Team[]
{
new Team{PlayerName="Ricky",TeamName="Australia", PlayerScore=234},
new Team{PlayerName="Hussy",TeamName="Australia", PlayerScore=134},
new Team{PlayerName="Clark",TeamName="Australia", PlayerScore=334},
new Team{PlayerName="Sankakara",TeamName="SriLanka", PlayerScore=34},
new Team{PlayerName="Udana",TeamName="SriLanka", PlayerScore=56},
new Team{PlayerName="Jayasurya",TeamName="SriLanka", PlayerScore=433},
new Team{PlayerName="Flintop",TeamName="England", PlayerScore=111},
new Team{PlayerName="Hamirson",TeamName="England", PlayerScore=13},
new Team{PlayerName="Colingwood",TeamName="England", PlayerScore=421}
};
Run Code Online (Sandbox Code Playgroud)
期望的结果:
Team Name Player Name Score Srilanka Jayasurya 433 England colingwood 421 Australia Clark 334
我正在尝试制作一个在Delphi XE中使用某些Web服务的程序.要连接到Web服务,我必须使用自签名证书,该证书存储在Windows证书库中.我使用CertOpenSystemStore打开证书库,获取证书CertFindCertificateInStore
并进行设置SSL_CTX_use_certificate
.没问题.然后我得到公钥blob CryptExportKey
并组成一个私钥,如下所示:
function PrivKeyBlob2RSA(const AKeyBlob: PByte; const ALength: Integer; const ASSLCtx: PSSL_CTX): IdSSLOpenSSLHeaders.PEVP_PKEY;
var
modulus: PByte;
bh: PBLOBHEADER;
rp: PRSAPUBKEY;
rsa_modlen: DWORD;
rsa_modulus: PAnsiChar;
rkey: PRSA;
begin
bh := PBLOBHEADER(AKeyBlob);
Assert(bh^.bType = PUBLICKEYBLOB);
rp := PRSAPUBKEY(AKeyBlob + 8);
Assert(rp.magic = $31415352);
rsa_modulus := PAnsiChar(Integer(Pointer(rp))+12);
rkey := RSA_new_method(ASSLCtx.client_cert_engine);
rkey^.References := 1;
rkey^.e := BN_new;
rkey^.n := BN_new;
BN_set_word(rkey^.e, rp^.pubexp);
rsa_modlen := (rp^.bitlen div 8) + 1;
modulus := AllocMem(rsa_modlen);
CopyMemory(modulus, rsa_modulus, rsa_modlen);
RevBuffer(modulus, rsa_modlen);
BN_bin2bn(modulus, …
Run Code Online (Sandbox Code Playgroud) 我正在使用存储过程在表中插入一些值.
CREATE PROCEDURE [dbo].[Sp_InsertValue]
@Val1 as nvarchar(50)
@Val2 as nvarchar(50)
as
BEGIN
IF NOT EXISTS(SELECT * FROM @mytable WHERE ID=@Val1)
INSERT INTO @mytable VALUES(@VAL2)
END
Run Code Online (Sandbox Code Playgroud)
我使用ExecuteNonQuery()使用C#在ASP.NET中调用此存储过程.它工作正常,没有问题,如果它们不存在,它会插入值.问题是cmd.ExecuteNonQuery()始终返回-1.我希望如果插入一条记录,它应该返回1,如果不是,则返回0,对吗?
我有一段时间对此感到困惑.我正在RibbonWindow
使用MVVM模式编写相当大的WPF应用程序.屏幕RibbonBar
顶部有一个菜单,其余部分显示各种视图.某些视图包含其他视图,其中一些视图具有启动子窗口的按钮.
到目前为止,我一直在使用View代码隐藏文件执行此操作,但我知道在使用MVVM时这些文件应该是空的.我可以将子窗口启动代码移动到ViewModel,但是我需要一个对main的引用RibbonWindow
(设置为子窗口所有者),这似乎不正确.
关于如何使用MVVM正常实现这一建议或提示将不胜感激.