Export (0) Print
Expand All

Database.ExecuteWithResults Method (StringCollection)

Executes a batch in the context of the database where there are results returned.

Namespace:  Microsoft.SqlServer.Management.Smo
Assembly:  Microsoft.SqlServer.Smo (in Microsoft.SqlServer.Smo.dll)

'Declaration
Public Function ExecuteWithResults ( _
	sqlCommands As StringCollection _
) As DataSet
'Usage
Dim instance As Database 
Dim sqlCommands As StringCollection 
Dim returnValue As DataSet 

returnValue = instance.ExecuteWithResults(sqlCommands)

Parameters

sqlCommands
Type: StringCollection
A StringCollection system object value that contains more than one Transact-SQL command.

Return Value

Type: DataSet
A DataSet system object value that contains the returned results set.

VB

'Connect to the local, default instance of SQL Server.
Dim srv As Server
srv = New Server

'Reference the AdventureWorks2012 database.
Dim db As Database
db = srv.Databases("AdventureWorks2012")

'Run a Transact-SQL command on the database.
db.ExecuteNonQuery("CHECKPOINT")

'Run a Transact-SQL command with results and display.
Dim ds As DataSet
ds = db.ExecuteWithResults( _
"SELECT * FROM Person.Address")
Dim t As DataTable
Dim r As DataRow
Dim c As DataColumn
For Each t In ds.Tables
   For Each r In t.Rows
      For Each c In r.Table.Columns
          Console.WriteLine( _
          c.ColumnName + " = " + r(c).ToString)
      Next
   Next
Next

PowerShell

$srv = new-Object Microsoft.SqlServer.Management.Smo.Server("(local)")
$db = New-Object Microsoft.SqlServer.Management.Smo.Database
$db = $srv.Databases.Item("AdventureWorks2012")
$db.ExecuteNonQuery("CHECKPOINT")
$ds = $db.ExecuteWithResults("SELECT * FROM Person.Address")
Foreach ($t in $ds.Tables)
{
   Foreach ($r in $t.Rows)
   {
      Foreach ($c in $t.Columns)
      {
          Write-Host $c.ColumnName "=" $r.Item($c)
      }
   }
}
Was this page helpful?
(1500 characters remaining)
Thank you for your feedback

Community Additions

ADD
Show:
© 2014 Microsoft