gpt4 book ai didi

c# - 子查询返回超过 1 个值.. 查询 C# 异常

转载 作者:太空宇宙 更新时间:2023-11-03 16:01:24 25 4
gpt4 key购买 nike

我做了一个简单的查询,使用内部连接连接数据库中的两个表。查询如下:

Select t1.UserName,t1.Title,t1.FirstName,t1.LastName,t1.MiddleName,t1.IsActive,t1.ProgramID,t2.Email
from table1 t1
inner join table2 t2 on t1.UserId = t2.UserId

查询在 SQL Server Management Studio 中执行良好,并根据需要返回行,但在 Visual Studio 中调试我的代码时,当它到达时

adapter.fill(dataset);

它抛出以下异常:

子查询返回超过 1 个值。当子查询跟在 =、!=、<、<=、>、>= 之后或当子查询用作表达式时,这是不允许的。

这是 C# 代码片段:

string selectCmd = @"Select t1.UserName,t1.Title,t1.FirstName,t1.LastName,t1.MiddleName,t1.IsActive,t1.ProgramID,t2.Email
from table1 t1
inner join table2 t2 on t1.UserId = t2.UserId ";
DataSet dataset = new DataSet();
using (SqlConnection conn = new SqlConnection(MyConnString))
{
SqlDataAdapter adapter = new SqlDataAdapter();
adapter.SelectCommand = new SqlCommand(selectCmd, conn);
conn.Open();
adapter.Fill(dataset);
}

有什么建议吗??任何帮助将不胜感激。

最佳答案

您的联接返回了多个值,而您正试图将这些值放在一个参数中..

例子:----这是你的错误查询

     DECLARE @Test INT 
SET @Test = (SELECT ID FROM ABC A INNER JOIN XYZ X ON A.ID = X.AID)

解决方法:

     DECLARE @Test INT 
SET @Test = (SELECT TOP 1 ID FROM ABC A INNER JOIN XYZ X ON A.ID = X.AID)

关于c# - 子查询返回超过 1 个值.. 查询 C# 异常,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21162924/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com