小编Tad*_*mas的帖子

如何从SQL查询中设置变量?

我正在尝试从SQL查询中设置变量:

declare @ModelID uniqueidentifer

Select @ModelID = select modelid from models
where areaid = 'South Coast'
Run Code Online (Sandbox Code Playgroud)

显然我没有这样做,因为它不起作用.有人可以提出解决方案吗?

谢谢!

sql t-sql sql-server

296
推荐指数
9
解决办法
72万
查看次数

如何在TSQL中将二进制值打印为十六进制?

我正在使用SQL Server 2000从表中打印出一些值PRINT.对于大多数非字符串数据,我可以转换为nvarchar以便能够打印它,但二进制值尝试使用字符的位表示进行转换.例如:

DECLARE @binvalue binary(4)
SET @binvalue = 0x12345678
PRINT CAST(@binvalue AS nvarchar)
Run Code Online (Sandbox Code Playgroud)

预期:

0×12345678

相反,它打印出两个乱码.

如何打印二进制数据的值?是否有内置或我需要自己滚动?

更新:这不是该行的唯一值,所以我不能只打印@binvalue.这更像PRINT N'其他东西'+ ???? + N'more stuff'.不确定这是否有所不同:我本身并没有尝试PRINT @binvalue.

t-sql sql-server

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

使用RSACryptoServiceProvider加密数据在我看来是一个奇怪的功能

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Security.Cryptography;
using System.IO;

namespace EncryptionTest
{
    class Program
    {
        static void Main(string[] args)
        {
            UnicodeEncoding ByteConverter = new UnicodeEncoding();

            byte[] dataToEncrypt = ByteConverter.GetBytes("Test data");

            string enc = Encrypt(dataToEncrypt);         
        }

        static string Encrypt(byte[] data)
        {
            UnicodeEncoding ByteConverter = new UnicodeEncoding();
            RSACryptoServiceProvider encrypt = new RSACryptoServiceProvider();

            byte[] encryptedData = encrypt.Encrypt(data, false); //Repeat this line

            return ByteConverter.GetString(encryptedData);
        }

    }
}
Run Code Online (Sandbox Code Playgroud)

我使用'Set Next Statement'重复执行以下语句,即不执行任何其他代码行. byte[] encryptedData = encrypt.Encrypt(data, false);

我查看了encryptedData中的字节,发现encryptedData中的字节每次都在变化.当然这是错的?如果公钥未更改且要加密的数据尚未更改,那么'encryptedData'字节也不应更改?

c# rsacryptoserviceprovider

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

使用SQL Server Profiler进行日志表访问

有没有一种方法可以使用Profiler来确定查询是否正在访问表?

我看到了一个名为Object:Opened(指示访问对象的时间,例如SELECT,INSERT或DELETE语句的时间)和的事件Object:Closed,但是它们似乎不起作用。

特别是,我使用Object:Opened和Object:Closed创建了一个简单的跟踪,没有过滤器(标准的“ Application Name not like'SQL Profiler'”过滤器除外)和ran SELECT TOP 1 * FROM TableName,但是未报告任何事件。

因此,有没有一种方法可以使用Profiler来确定是否从中选择了表?

sql-server profiler

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

xsltproc不按名称选择元素

我试图使用XSLT样式表来转换XHTML,但我甚至无法获得基本样式表来匹配任何内容.我确定我错过了一些简单的事情.

这是我的XHTML源文档(没什么大惊喜):

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
    "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta name="generator" content=
"HTML Tidy for Windows (vers 25 March 2009), see www.w3.org" />
...
</body>
</html>
Run Code Online (Sandbox Code Playgroud)

实际内容并不重要,我将在下面演示.顺便说一句,我很确定该文档是通过创建文档而形成的tidy -asxml.

我更复杂的XPath表达式没有返回任何结果,所以作为一个完整性测试,我试图使用以下样式表非常简单地转换它:

<?xml version="1.0"?>
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
    <xsl:output method="text" omit-xml-declaration="yes" indent="no"/>
    <xsl:template match="/">
        <xsl:text>---[</xsl:text>
        <xsl:for-each select="html">
            <xsl:text>Found HTML element.</xsl:text>
        </xsl:for-each>
        <xsl:text>]---</xsl:text>
    </xsl:template>
</xsl:stylesheet>
Run Code Online (Sandbox Code Playgroud)

转换是通过完成的xsltproc --nonet stylesheet.xsl input.html,输出是:"--- [] ---"(即,它没有找到子元素html).但是,如果我将该for-each部分更改为:

<xsl:for-each select="*">
    <xsl:value-of select="name()"/>
</xsl:for-each>
Run Code Online (Sandbox Code Playgroud)

然后我得到"--- [html] ---".同样,如果我使用for-each select="*/*",我会像我期望的那样得到"--- [headbody] …

xslt

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

Erlang Error Handling , X unsafe in 'try'

Can anyone enlighten me as to why this bit of code spits back that the X is unsafe in 'try', well I know why, but more so how to fix it.

try X = lists:append(lists:zipwith3(fun(X, Y, Z) -> [X, Y, Z] end, Data1, Data2, Data3)) of
            MP -> X
            catch K -> (X = 0)
            end.
            %MP = [lists:zipwith3(X, Y, Z) || X, Y, Z <-  [Data1, Data2, Data3]],


P = X
Run Code Online (Sandbox Code Playgroud)

erlang try-catch

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