问题列表 - 第318018页

将标识列值作为参数插入到其他列

我有一个名为 tab_stores 的表,它的结构如下所示

CREATE TABLE tab_stores
(
    id_num INT IDENTITY(1, 1),
    sName VARCHAR(20),
    mySKey VARCHAR(20)
);
Run Code Online (Sandbox Code Playgroud)

现在,当我使用下面的查询在此表中插入值时,它会插入值并增加id_num+1,这工作正常。

INSERT tab_stores (sName, mySKey)
VALUES ('Store', 'Store');
Run Code Online (Sandbox Code Playgroud)

插入的数据是

1,Store,Store
Run Code Online (Sandbox Code Playgroud)

我想稍微修改一下,以便当我插入行时,自动递增的列值应该被后固定并添加到mySKey列中,所以结果应该是

1,Store,Store1
Run Code Online (Sandbox Code Playgroud)

我尝试使用下面的查询,但它不起作用 - 我得到

消息 207,级别 16,状态 1,服务器 49706b09f367,第 7 行
无效的列名称“id_num”

INSERT tab_stores (sName, mySKey)
VALUES ('Store', 'Store' + id_num);
Run Code Online (Sandbox Code Playgroud)

谁能帮帮我吗?谢谢

t-sql sql-server identity insert sql-server-2012

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

Rails 资产期间的分段错误:在 Docker 中使用 Ruby 3.3.0 在 Apple Silicon (M3) 上预编译(使用 Kamal)

当我尝试在配备 Apple Silicon (M3) 的 MacBook Pro 上为新的 Rails 应用程序构建 Docker 映像时,遇到了分段错误问题。该错误具体发生在RUN SECRET_KEY_BASE_DUMMY=1 ./bin/rails assets:precompileDocker构建过程中的步骤。

一些关键点:

这个问题发生在我配备 Apple Silicon (M3) 的 MacBook 上;我无法再使用 Intel Apple 机器了。

仅构建图像amd64工作正常,表明该问题可能与 ARM 架构有关。

从 Gemfile 和代码库中删除 bootsnap 并没有解决问题。

我看到一些段错误问题表明旧版本的 Docker (4.18) 可以解决该问题,但事实并非如此。

同样,在关闭虚拟化框架的情况下切换到 gRPC FUSE 并不能解决问题。

然而,切换到 Ruby 3.2.2 解决了这个问题。

Rails 应用程序非常简单,使用rails new ohanami -a propshaft -c tailwind. 您可以在此处查看失败的应用程序:https://github.com/miharekar/ohanami/tree/d2170a657a8e6e3d591436b9371e7b1f444220d5

我猜测问题出在 Ruby 3.3.0 或并发 ruby​​ 或 propshaft 中。不知道如何进一步调查,或者向哪里举报。

你建议我做什么?

这是回溯:

#16 [build 5/5] RUN SECRET_KEY_BASE_DUMMY=1 ./bin/rails …
Run Code Online (Sandbox Code Playgroud)

ruby ruby-on-rails concurrent-ruby propshaft

12
推荐指数
1
解决办法
2656
查看次数

从6.5.0开始,需要xcb-cursor0或libxcb-cursor0来加载Qt xcb平台插件

我在 Ubuntu 20.04.6 LTS 上使用 Qt。我收到了有关 Qt 更新的通知,因此我更新了 Qt。之后,每当我尝试打开 Qt Creator 时,都会收到此错误:

\n
from 6.5.0, xcb-cursor0 or libxcb-cursor0 is needed to load the Qt xcb platform plugin. \nCould not load the Qt platform plugin "xcb" in "" even though it was found.\nThis application failed to start because no Qt platform plugin could be initialized. Reinstalling the application may fix this problem.\n\nAvailable platform plugins are: minimalegl, scb, eglfs, minimal, linuxfb, vkkhrdisplay, offscreen, vnc, wayland, wayland-egl.\n
Run Code Online (Sandbox Code Playgroud)\n

我尝试卸载并重新安装 Qt,但没有帮助。我还研究了 Stack Overflow 和其他平台上提供的其他问题和答案,但没有一个能解决我的问题。 …

c++ ubuntu qt qt6

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

C 语言中计算阶乘的函数正确吗?

我一直在读 Jon Erickson 的书《黑客——剥削的艺术》(第二版,No Starch Press)。在第 17 页,我偶然发现了一些 C 语言代码,该函数应该计算数字的阶乘。我有一些Python编程技巧,但我是C初学者。代码是:

int factorial(int x)
{
  int i;
  for(i=1; i < x; i++)
    x *= i;
  return x;
}

int a=5, b;
b = factorial(a);
Run Code Online (Sandbox Code Playgroud)

书中写道,变量 b 将包含 120,因为阶乘函数将以 5 为参数调用,并将返回 120。

它是否正确?据我所知,x 在每次迭代中都会被分配一个新数字,因此条件 i < x 始终为真。对我来说这看起来像是一个无限循环,但我可能是错的。我已经检查了出版商网​​站上的勘误表,但找不到可以解决我的问题的信息。

如果我犯了一个错误,有人可以向我解释一下哪里出了问题吗?我附上该书的摘录以供参考。

书中摘录

c function factorial

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

更改 C 堆栈指针地址(指向)

我想我也许终于在指针理解上有了一点突破,但我正在努力解决一个看似简单的问题,我想让一个指针指向与另一个指针相同的内存地址,例如:

\n
char* foo = "foo"; // memory address: 0x7ffdabc4dbf8\nchar* bar = "bar"; // memory address: 0x7ffdabc4dbf0\n
Run Code Online (Sandbox Code Playgroud)\n

如何将 foo 指向与 bar 相同的地址?我知道如何更改该值,例如:

\n
foo = bar; // foo is now "bar" but the memory address is the same as before\n
Run Code Online (Sandbox Code Playgroud)\n

我做了一些实验:

\n
#include<stdio.h>\n#include<stdlib.h>\n#include<string.h>\n#include<errno.h>\n\nvoid print_info(char* string1, char* string2) {\n    printf("Memory address of string1: %p\\n", &string1);\n    printf("Memory address of string2: %p\\n", &string2);\n    printf("Value of string1: %s\\n", string1);\n    printf("Value of string2: %s\\n", string2);\n    printf("\\n");\n}\n\nvoid change(char** ptr1, char** ptr2) {\n    *ptr1 = …
Run Code Online (Sandbox Code Playgroud)

c pointers memory-management

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

如何在 pandas 数据框中使用“df.shift(n)”,以便可以将“n”项从下到上而不是“nan”值,反之亦然?

我有一个包含 5 行和 2 列的 pandas 数据框df。

A   B
0   10  0
1   20  5
2   30  10
3   40  15
4   50  20
Run Code Online (Sandbox Code Playgroud)

df.to_dict()回报

{'A': {0: 10, 1: 20, 2: 30, 3: 40, 4: 50},
 'B': {0: 0, 1: 5, 2: 10, 3: 15, 4: 20}}
Run Code Online (Sandbox Code Playgroud)

对于 A 列,我想将每个项目移动到下面两行。我不想将nan值放在顶部,而是想将两个从底部推出的元素带到顶部。

对于 B 列,我想做相反的事情 - 将每个项目移到上面两行。我不想将nan值放在底部,而是希望将两个元素从顶部推出到底部。

我可以使用df["A"].shift(2)和df["B"].shift(-2)。但是,我得到了 nan 值。

我的预期结果是:

A   B
0   40  10
1   50  15
2   10 …
Run Code Online (Sandbox Code Playgroud)

python shift dataframe python-3.x pandas

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

如何优雅地捕获具有指定变量的向量元素?

我有一个函数foo(),它返回vector具有三个元素的 a 。0我想指定三个变量来捕获索引, 1,处的元素2。显然我知道正常的代码,比如

auto vec = foo();
a = vec[0]; b = vec[1]; c = vec[2];
Run Code Online (Sandbox Code Playgroud)

但我想要一种优雅的格式,就像Python一样,如下:

auto& [a,b,c] = foo();
Run Code Online (Sandbox Code Playgroud)

有没有办法实现呢?

c++ c++17

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

在独立模式下,如何在 Angular 17 中导入模块?

每个人。我注意到 Angular 17 默认为独立模式,这意味着它不会自动生成文件 app.module.ts...下面的代码在独立模式下生成 Angular 应用程序:

ng new project-name
Run Code Online (Sandbox Code Playgroud)

下面的代码在非独立模式下生成一个角度应用程序:

ng new project-name --no-standalone
Run Code Online (Sandbox Code Playgroud)

但是,如果我正在使用这个新的独立版本,有人可以指导我使用哪个文件以及如何导入之前在 app.module.ts 文件中导入的模块吗?

举个例子:如果我想从@angular/platform-b​​rowser导入模块BrowserModule,我是否必须将其导入到将在组件装饰器中使用它的所有组件中?因为之前,我需要仅在 app.module.ts 处导入。或者我在这里遗漏了什么?

angular

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

VS 2023 'var' 建议

foreach (int dirId in dirIds)
{
    serieIds.AddRange((from serie in TableDataGrid.TargetBaseContext.Series
                       where serie.RepertoireId == dirId
                       select serie.SerieId).ToList());
}
Run Code Online (Sandbox Code Playgroud)

在上面的代码中,VS建议使用var而不是int. int如果只是需要的话,我们为什么要这么做呢?有没有办法告诉VS不要建议这样的修改?

我只是试图了解当我认为某件事比某件事int更好时我是否错过了某事var。

c# var visual-studio-2022

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

使用接口和抽象类的多态性

abstract class B extends A implements C {

// why I have to add implementation here for add() function


}
class A{
    void add(){        
    }
}
interface C{
    void add();

}

Run Code Online (Sandbox Code Playgroud)

我期望我不需要add()在抽象类中实现该方法B。为什么会发生这种情况?

java oop polymorphism

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