问题列表 - 第13071页

对于SQL中的每个等效项

我有一个表,tblDocs有几列:

DocName varchar(50)
DocLocation int
Active int
DocID int
Run Code Online (Sandbox Code Playgroud)

表中的所有条目都有一个DocNameDocLocation. Active并且DocID是空白的.

我需要做的是tblDocs我需要检查每一行的值,DocLocation并根据我更新的值tblDocs,设置ActiveDocID列.我以为我会用,CASE WHEN但我不确定 - 我不太了解sql.如果我使用c#或vb.net,它将相当于一个for each循环.

foreach row as DBRow in tblDocs
    row.active = 1
    row.docID = ID
next
Run Code Online (Sandbox Code Playgroud)

你是如何为SQL Server 2005做到这一点的?

UPDATE

从下面的几个回答中,听起来我会使用一个UPDATE声明.所以我可以通过做类似的事情来实现这一点

UPDATE tblDocs
SET docID = 
    CASE DocLocation
        WHEN 1 THEN --do stuff
        WHEN 3 THEN --do other stuff
Run Code Online (Sandbox Code Playgroud)

这将遍历tblDocs的所有行并更新DocID以基于DocLocation?

sql sql-server sql-server-2005

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

从C#中的结构返回"this"会发生什么?

好奇,当你从C#中的结构中返回关键字this时会发生什么?

例如:

public struct MyStruct 
{
  // ... some constructors and properties 1-3

  public MyStruct Copy()
  {
     return MyStruct(Property1, Property2, Property3);
  }

  // vs

  public MyStruct This()
  {
     return this;
  }
}
Run Code Online (Sandbox Code Playgroud)

.net c# struct

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

使用heredocs的Python子流程

我在玩Python的子流程模块,尝试了一些示例,但似乎无法使Heredoc语句起作用。

这是我正在玩的简单示例:

import subprocess
a = "A String of Text"
p = subprocess.Popen(["cat", "<<DATA\n" + a + "\nDATA"])
Run Code Online (Sandbox Code Playgroud)

运行上面的代码时出现以下错误:

cat: <<DATA\nA String of Text\nDATA: No such file or directory
Run Code Online (Sandbox Code Playgroud)

我做错了吗?这有可能吗?如果是这样,我将如何去做?


更新资料

只是想说,永远不要在真正的python程序中执行此操作,因为有更好的方法可以执行此操作。

python subprocess heredoc

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

C++分段 - 故障问题

我的程序崩溃了,这对我来说很好,当然我的程序说不然,这让我很困惑.

我正在处理的这个功能片段:

        for(int k = 0; k < dictionary[k].size(); k++)
        {
            //"i" represents the fragment's first character
            //while "k" represents the dictionary first character
            if(fragments[i][j] == dictionary[k][j]) {
                token++;
                cout << token << endl;
            }
        }
Run Code Online (Sandbox Code Playgroud)

可能是问题所在.当我调试问题时,调试器转到代码段的第一行:

    for(int k = 0; k < dictionary[k].size(); k++)
Run Code Online (Sandbox Code Playgroud)

然后在我尝试下一次时崩溃.在调试器中,此窗口在我的代码块中打开:

Signal Received

Program Received Singal SIGEGV, segmentation fault. Do you want to view backtrace?
Run Code Online (Sandbox Code Playgroud)

我点击了,这对我来说似乎是武断的.

有谁知道我做错了什么?

如果需要回溯(窗口显示Call Stack),我会在以后根据需要进行编辑

编辑:这是整个功能,我认为没有必要

void Language::compare()
{
    int para = getParameters(0); //eg. 3

    int valid = para;
    int token …
Run Code Online (Sandbox Code Playgroud)

c++ segmentation-fault

0
推荐指数
2
解决办法
556
查看次数

在C++ Win32中获取计算机上的用户配置文件列表

枚举计算机上所有用户配置文件的最佳方法是什么?

我知道如何获取当前登录的用户配置文件,我知道如何获取"所有用户"配置文件.但我想获得计算机上每个配置文件的列表.

c++ winapi

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

在C#中,何时引用类型比值类型更有效?

有没有时间参考类型比值类型更有效?为什么?你能给我举个例子吗 ?

c# performance types

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

Code Golf:浪潮

挑战

按字符计数的最短代码,用于从输入字符串生成波形.

通过提升(第1行)较高字符并使(第1行)降低较低字符来生成波.相等的字符保持在同一行(没有提升或降级).

输入仅由小写字符和数字组成,字母被认为高于数字.

测试用例:

Input:
    1234567890qwertyuiopasdfghjklzxcvbnm

Output:
                                 z
                                l x v n
                               k   c b m
                              j
                             h
                            g
                   y   p s f
                  t u o a d
               w r   i
            9 q e
           8 0
          7
         6
        5
       4
      3
     2
    1

Input:
    31415926535897932384626433832795028841971693993751058209749445923078164062862

Output:
                9 9   8 6 6
         9 6   8 7 3 3 4 2 4  8   9   88
    3 4 5 2 5 5     2       33 3 7 5 2  4 9   9 99 …
Run Code Online (Sandbox Code Playgroud)

language-agnostic code-golf rosetta-stone

41
推荐指数
11
解决办法
6203
查看次数

C++:安全使用longjmp和setjmp?

关于以下内容在linux/gcc上使用C++中的longjmp和setjmp是否安全?

  1. 异常处理(我没有使用longjmp/setjmp实现异常处理.我想知道longjmp/setjmp对标准异常处理会产生什么副作用)
  2. *this 指针
  3. 信号
  4. 智能指针(boost的共享和侵入指针)
  5. 你能想到的任何其他东西.

c++ linux gcc exception longjmp

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

如何将两个不同尺寸图像的光谱相乘?

这不是一个"编程"问题.但我确信这是在这个社区广为人知和理解的东西.

我有一个图像,x和一个小得多的图像y,我需要通过乘以它们来对两者进行卷积.但由于它们的大小不同,我不知道如何进行频域乘法.

我采用x的(二维)FFT(这是一个尺寸为4096 x 4096的整数矩阵),它给出了频域表示X(这是一个复数矩阵,我认为它的维数是2048 x 2048 ).

类似地,我采用(二​​维FFT的y(这是一个64 x 64的整数矩阵),它给出了频域表示,Y(也是一个复数矩阵,我认为它的维度是32 x 32).

我正在使用数字配方中的fourn函数,所以我的输入矩阵x和y必须折叠成一维数组,然后由它们的离散傅立叶变换X和Y代替.重点是即使这是一个图像的二维问题,我正在使用一维数组.

如果我试图卷积两个完全相同尺寸的图像,x和y.这一切都非常简单:

 X = FFT(x)

 Y = FFT(y)

 Z = X * Y (term by term multiplication)

 Convolution of x and y = IFFT(Z)
Run Code Online (Sandbox Code Playgroud)

但如果X和Y的长度不同,我该如何进行乘法?

一种可能性是填充y以具有与x相同的尺寸.但这似乎非常低效.另一种可能性是将Y填充为与X具有相同的尺寸.但我不知道这在频率空间中意味着什么.

这是提出这个问题的另一种方式:如果我想使用FFT对两个不同维度的图像进行卷积,那么我可以对它们的光谱进行乘法(频域表示),我该如何进行乘法?

谢谢,

〜迈克尔.

signal-processing fft image-processing convolution

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

人为地将记录添加到MySQL结果中

有没有办法将记录放到MySQL的结果集顶部?例如,如果我的结果是:

1 | a
2 | b
3 | c
etc

我希望能得到:

Select | Select
1      | a
2      | b
3      | c
etc

"Select"实际上不是记录集的一部分,而是人为插入的.

谢谢.

mysql data-manipulation

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