Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/sql/81.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/asp.net-mvc-3/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Sql 如何在VB.net中运行2个查询_Sql_Vb.net - Fatal编程技术网

Sql 如何在VB.net中运行2个查询

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

我有一个简单的VB.net程序,可以查询SQL数据库。这个程序运行良好,但我想在关闭数据库连接之前运行2个查询。。。如何做到这一点而不混淆两个查询中的信息

我的SQL部分代码如下所示:

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:哦,好的,那么我的评论/回答/建议应该适合您。谢谢。我会把它们分成潜艇。那应该行得通。