gpt4 book ai didi

c# - 如何使用多个 select 语句填充一个结构

转载 作者:行者123 更新时间:2023-11-30 22:13:36 24 4
gpt4 key购买 nike

目标:使用多个选择语句填充结构,使用 C# 和 SqlServer2005

问题:目前我可以使用一个选择语句填充一个结构,但由于这个特定选择语句的性质,要生成正确的结果,需要分解查询,因此我有使用多个选择来填充一个结构。这是可能的还是我以错误的方式去做。下面是我正在使用的代码

public static bool GetColumns()
{
String sql = "";

try
{
conn.Open();

sql = @"SELECT
database.dbo.table1.column1
FROM
database.dbo.table1;

SELECT
database.dbo.table2.column2
FROM
database.dbo.table2;

SELECT
database.dbo.table3.column3
FROM
database.dbo.table3 ;" ;

SqlCommand cmd = new SqlCommand(sql, conn);

SqlDataReader dr = cmd.ExecuteReader();

MyStructure struct1 = new MyStructure();

while (dr.Read())
{
struct1.column1 = dr.GetValue(0);
struct1.column2 = dr.GetValue(1);
struct1.column3 = dr.GetValue(2);

MyArrayList.Add(struct1);
}

dr.Close();

conn.Close();

return true;
}

catch (Exception ex)
{
if (conn.State == ConnectionState.Open)
conn.Close();

error.LogError(ex, "", "")
return false
}

上面的代码不起作用,因为我列出的值超出了每个单独的选择语句的范围。正确的做法是什么?

最佳答案

你的语句会返回多个结果集,如果你使用的是DataReader,那么你会得到多个结果。使用 DataReader.NextResult获取下一个结果集并相应地显示数据的方法。

如果您不关心 DataReader,那么您可以使用 DataSet 并使用 DataAdapater 将结果填入多个 DataSet 中的 DataTables

关于c# - 如何使用多个 select 语句填充一个结构,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18968047/

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