gpt4 book ai didi

asp.net - ASP.NET 中 while 循环中的嵌套 SQL 查询

转载 作者:行者123 更新时间:2023-12-01 12:58:18 25 4
gpt4 key购买 nike

我打算在这里做另一个 SQL 查询,并使用“category_id”从另一个表中检索数据

我知道 asp.net 要求我在继续另一个查询之前关闭数据读取器的问题。但是有什么解决方案可以让我再做一次查询并在打开的数据阅读器中打开另一个数据阅读器吗?

我目前的代码如下...

Dim dr, dr2 As SqlDataReader
Dim conn As SqlConnection
Dim cmd, cmd2 As SqlCommand

conn = New SqlConnection("server=XXX-PC;user=sa;password=abc123321;database=xxx")
cmd = New SqlCommand("SELECT * FROM category ORDER BY category_Name", conn)
conn.Open()

dr = cmd.ExecuteReader()

Do While dr.Read()
Dim category_id As Integer = dr.GetInt32(0)
Dim category_name As String = dr.GetString(1)

/* Another data reader and query here */

Loop
dr.Close()
conn.Close()

最佳答案

您有几个选择:

  1. 创建一个新的连接到您的数据库,并从中创建第二个数据读取器。

  2. 使用 SqlDataAdapter,将您的查询转储到内存中的数据表中,然后循环遍历它们。

  3. 使用对象关系映射器,如 NHibernate 或 Entity Framework ,并完全避免所有这些问题。

2 可能是最简单、实现起来最快的。 3 需要一些学习曲线,但从长远来看可能是值得的。 1 实际上是个糟糕的主意;不要这样做。我什至不应该列出它。

关于asp.net - ASP.NET 中 while 循环中的嵌套 SQL 查询,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8352435/

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