Sql 如何在VB.net中运行2个查询
我有一个简单的VB.net程序,可以查询SQL数据库。这个程序运行良好,但我想在关闭数据库连接之前运行2个查询。。。如何做到这一点而不混淆两个查询中的信息 我的SQL部分代码如下所示:Sql 如何在VB.net中运行2个查询,sql,vb.net,Sql,Vb.net,我有一个简单的VB.net程序,可以查询SQL数据库。这个程序运行良好,但我想在关闭数据库连接之前运行2个查询。。。如何做到这一点而不混淆两个查询中的信息 我的SQL部分代码如下所示: Try For icounter = 1 To 2 Call GetLocationInfo() connectionString = "Data Source=" & LocationDB & ";Initial Catalog=database;Pers
Try
For icounter = 1 To 2
Call GetLocationInfo()
connectionString = "Data Source=" & LocationDB & ";Initial Catalog=database;Persist Security Info=True;User ID=login;Password=password"
sql = "select count(sTicket_number) as tickets from tickets where dtcreated between @StartDate AND @EndDate"
sqlCnn = New SqlConnection(connectionString)
sqlCnn.Open()
sqlCmd = New SqlCommand(sql, sqlCnn)
sqlCmd.Parameters.AddWithValue("@StartDate", dtstartdate)
sqlCmd.Parameters.AddWithValue("@EndDate", dtenddate)
Dim sqlReader As SqlDataReader = sqlCmd.ExecuteReader()
While sqlReader.Read()
msgbox(sqlReader.Item(0))
End While
sqlReader.Close()
sqlCmd.Dispose()
sqlCnn.Close()
因为您只运行2个查询,所以我将移动SqlCnn.Close 在for循环之外 和使用
if SqlCnn.state=closed then
SqlCnn.open()
endif
使用两个sql命令?另外,请不要忘记接受并投票支持您前面问题的答案。此时是否为Sqlreader.item1?您没有指定要运行哪两个命令,因此我只能提供一般指导。您当前有一个sqlCmd。你想要多少就有多少。每一个都可以分成自己的子对象,在子对象中传递连接信息。我建议您使用dataset对象。使用dataadapter填充数据集。在关闭连接之前,可以使用不同的ID查询和命名数据集。此外,使用数据集比读卡器更容易控制行。关于连接打开/关闭的时间浪费,SQL支持连接池,因此即使关闭连接,它也会为您保持打开状态。当应用程序在连接上调用Close时,池处理程序将其返回到活动连接的池集,而不是关闭它。一旦连接返回到池中,就可以在下一次打开的调用中重用。循环用于连接到两个不同的数据库。哦,我不知道that@Shmewnix:那么您想运行两个查询,每个数据库一个?请将此信息添加到问题中-这并不明显。@Shmewnix:哦,好的,那么我的评论/回答/建议应该适合您。谢谢。我会把它们分成潜艇。那应该行得通。