小编Bau*_*aub的帖子

在@@ ROWCOUNT上提交tran

我试图在事务中包含一些操作,以便我可以确定是否应该删除最后一步中的表.这是我到目前为止所拥有的:

    --select the DB
    use DB1


    --if the table exists, we want to delete it first
    IF (EXISTS (SELECT * 
                     FROM INFORMATION_SCHEMA.TABLES 
                     WHERE TABLE_SCHEMA = 'dbo' 
                     AND  TABLE_NAME = 'VV'))
    BEGIN
        drop table dbo.VV
    END

BEGIN TRAN  

    SELECT field1
          ,field2
          ,field3

    INTO dbo.vv
      FROM vvr A
     WHERE A.field1 <> 'GEN'
     AND A.field2 <> 'NO DATA'
     AND A.field3 <> '(BLANK) NO'

PRINT 'ROW1:' +  CAST(@@ROWCOUNT as varchar(11))
IF @@ROWCOUNT = 0 
        ROLLBACK TRAN 
    ELSE
        COMMIT TRAN


    UPDATE dbo.vv 
    SET dbo.field1 = …
Run Code Online (Sandbox Code Playgroud)

sql transactions

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

PictureBox不显示图像

在我的C#项目中,我使用了Tools来添加PictureBox控件.我已将图像位置设置为我们网络上PNG的位置,并且我遇到了与其他人相同的问题,如果从该目录移动图像,则我的程序中的图像将不会显示.

我想在编译时将图像嵌入到EXE中,因此图像不依赖于网络上可用的实际文件.我发现了一篇文章,说我的图像是我项目中的资源.我这样做但是当我尝试使用它时,我看到错误:stream不是有效的资源文件.

我知道这可以完成,但到目前为止,我还没有找到我需要做的事情.

我该如何设置?因为我现在显然有错误的设置.

c# picturebox

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

无法锁定变量.找不到变量

在SSIS中,我尝试使用文件系统任务将文件移动到存档目录.这就是我的任务 - http://imgur.com/raPZIzL

当我运行程序包时,我在此任务上失败:错误:文件系统上的0xC0014054任务:无法锁定变量"\ xxx\yyyy\Eligibility\SOURCE_ELIGIBILITY_IMPORT_0482014.CSV"以进行读访问,错误为0xC0010001"无法找到变量.当在程序包执行期间尝试从容器上的Variables集合中检索变量时,会发生这种情况,并且变量不存在.变量名称可能已更改或未创建变量."

我觉得有趣的是它说找不到变量,因为变量的初始值是'temp'(参见屏幕截图)然后我在此任务运行之前的几个步骤中设置了脚本任务中变量的值.所以我知道变量存在并且它具有正确的值(我可以在变量路径中打开文件).我只是不知道为什么或如何解决这个问题.我在互联网上发现了其他人发布的相同消息,但没有一个解决方案适合我.我也看不出这可能是一个竞争条件,设置变量值的脚本任务在此任务运行之前完成了大约一秒钟.

我尝试删除文件系统任务并重新创建它,仍然得到错误.我也重新启动了计算机思维可能会有所帮助,但事实并非如此.

编辑:更多信息...如果我将DelayValidation从True设置为False,我甚至在运行之前得到相同的错误,虽然这次它在有机会在代码中设置之前抱怨变量的初始值.

以下是具体错误:

错误:文件系统上的0xC0014054任务:无法锁定变量"\ XXX\YYYY\Eligibility\SOURCE_ELIGIBILITY_IMPORT_0482014.CSV"以进行读取访问,错误为0xC0010001"无法找到变量.当尝试从中检索变量时会发生这种情况在执行包期间容器上的变量集合,并且变量不存在.变量名称可能已更改或未创建变量."

错误:0xC002F304在文件系统任务,文件系统任务:出现以下错误消息时出错:"无法锁定变量"\ XXX\YYYY\Eligibility\SOURCE_ELIGIBILITY_IMPORT_0482014.CSV"用于读取访问,错误0xC0010001"无法找到变量.当在程序包执行期间尝试从容器上的Variables集合中检索变量时,会发生这种情况,并且变量不存在.变量名称可能已更改或未创建变量.".".

错误:文件系统上的0xC0014054任务:无法锁定变量"\ XXX\YYYY\Eligibility\Archive"以进行读访问,错误为0xC0010001"无法找到变量.当尝试从Variables集合中检索变量时会发生这种情况在执行包期间在容器上,并且变量不存在.变量名可能已更改或未创建变量."

错误:0xC002F304在文件系统任务,文件系统任务:出现以下错误消息时出错:"无法锁定变量"\ XXX\YYYY\Eligibility\Archive"用于读取访问,错误0xC0010001"无法找到该变量.当在程序包执行期间尝试从容器上的Variables集合中检索变量时,会发生这种情况,并且变量不存在.变量名称可能已更改或未创建变量."

ssis

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

SELECT'ING INTO新表时如何添加NULL列?

我有这样的声明:

SELECT field1, field2, MyField = NULL
INTO NewTable
FROM OldTable
Run Code Online (Sandbox Code Playgroud)

这样做我想要的只有一个例外:我创建MyField和填充的字段NULL是一个INT类型,我希望它是一个VARCHAR类型.我不知道如何修改相同的语句来创建具有该VARCHAR类型的新字段.

谢谢.

sql null select field select-into

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

临时表不会从DB中删除

我有一个大的查询,首先选择#tmp1.在那个select语句之前我有以下内容:

USE Sandbox

--if the table exists, we want to delete it first
IF (EXISTS (SELECT * 
                 FROM INFORMATION_SCHEMA.TABLES 
                 WHERE TABLE_SCHEMA = 'dbo' 
                 AND  TABLE_NAME = '#tmp1'))
BEGIN
    drop table dbo.#tmp1
END
Run Code Online (Sandbox Code Playgroud)

问题是,当我运行整个查询时,我收到一个错误:

Msg 2714, Level 16, State 6, Line 51
There is already an object named '#tmp1' in the database.
Run Code Online (Sandbox Code Playgroud)

如果我突出显示上述语句并运行它,我得到:

Command(s) completed successfully.

但是如果我再次运行查询,我会得到上面的错误.

我也试过这两个(结果"成功完成",我在尝试运行查询时仍然遇到上述错误:

if exists (select * from sys.objects where name = '#tmp1' and type = 'u')
    drop table dbo.#tmp1

IF OBJECT_ID('dbo.#tmp1', …
Run Code Online (Sandbox Code Playgroud)

t-sql sql-server-2008

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

需要根据行中的日期将表数据选择到不同的列中

我不确定我在这里需要什么,看起来有点像我可以使用一个支点,但我不认为它是那么复杂,如果我可以避免枢轴,因为我没有使用它(呃,根本) .

我有这样的数据:

ID      score   notes               CreateDate
1661    9.2     8.0 on Sept 2010    7/22/2010
1661    7.6                         11/4/2010
1661    7.9                         6/10/2011
1661    8.3                         9/28/2011
1661    7.9                         1/20/2012
Run Code Online (Sandbox Code Playgroud)

我想将所有数据组织到一行,其中最早的日期是第一个,然后使用下一个最旧的日期,然后使用下一个最旧的日期......直到我使用4或5个日期.所以最终结果看起来像这样:

ID      score1  notes1              date1       score2  notes2  date2       score3  notes3  date3       score4  notes4  date4
1661    9.2     8.0 on Sept 2010    7/22/2010   7.6     blah    11/4/2010   7.9     blah2   6/10/2011   8.3     blah3   9/28/2011
Run Code Online (Sandbox Code Playgroud)

sql sql-server sql-server-2008

0
推荐指数
1
解决办法
175
查看次数

从字符串生成唯一ID

我正在尝试使用文本字符串并从中创建一个唯一的数值,我没有任何运气.

例如,我有用户名(第一个和最后一个)和生日.我试过取这些值并将它们转换为varbinary,它确实从数据中给出了一个数值,但它并不是唯一的.在大约700条记录中,我将获得至少100个重复的数值,但用于生成数字的名字,姓氏和生日的文本是不同的.

这是我一直在尝试的一些代码:

SELECT CONVERT(VARCHAR(300), CONVERT(BIGINT,(CONVERT(VARBINARY, SE.FirstName) +  CONVERT(VARBINARY, SE.BirthDate) ))) FROM ELIGIBILITY SE
Run Code Online (Sandbox Code Playgroud)

如果我使用该代码并转换以下数据,则结果为3530884780910457344.因此,从此唯一数据生成相同的数字:

David       12/03/1952
Janice      12/23/1952
Michael     03/24/1952
Mark        12/23/1952
Run Code Online (Sandbox Code Playgroud)

我正在寻找某种方式,越简单越好,从这些数据中获取这些值并生成唯一的数值.我之所以需要使用这些值作为输入是因为我试图避免在将来创建重复项,并且能够根据公式预测数值.这就是NewID()不适合我的原因.

t-sql sql-server sql-server-2008-r2

0
推荐指数
1
解决办法
3500
查看次数