SqlCommand Classe
Definizione
Importante
Alcune informazioni sono relative alla release non definitiva del prodotto, che potrebbe subire modifiche significative prima della release definitiva. Microsoft non riconosce alcuna garanzia, espressa o implicita, in merito alle informazioni qui fornite.
Rappresenta un'istruzione Transact-SQL o una stored procedure da eseguire su un database SQL Server. Questa classe non può essere ereditata.
public ref class SqlCommand sealed : System::Data::Common::DbCommand, ICloneable
public sealed class SqlCommand : System.Data.Common.DbCommand, ICloneable
type SqlCommand = class
inherit DbCommand
interface ICloneable
Public NotInheritable Class SqlCommand
Inherits DbCommand
Implements ICloneable
- Ereditarietà
-
SqlCommand
- Implementazioni
Esempio
Nell'esempio seguente viene creato un oggetto SqlConnection, un SqlCommandoggetto e un oggetto SqlDataReader. L'esempio legge i dati, scrivendoli nella console. Infine, l'esempio chiude SqlDataReader e quindi quando SqlConnection esce dai blocchi di Using codice.
using System;
using System.Data;
using Microsoft.Data.SqlClient;
namespace SqlCommandCS
{
class Program
{
static void Main()
{
string str = "Data Source=(local);Initial Catalog=Northwind;"
+ "Integrated Security=SSPI";
ReadOrderData(str);
}
private static void ReadOrderData(string connectionString)
{
string queryString =
"SELECT OrderID, CustomerID FROM dbo.Orders;";
using (SqlConnection connection = new SqlConnection(
connectionString))
{
SqlCommand command = new SqlCommand(
queryString, connection);
connection.Open();
using (SqlDataReader reader = command.ExecuteReader())
{
while (reader.Read())
{
Console.WriteLine(String.Format("{0}, {1}",
reader[0], reader[1]));
}
}
}
}
Nell'esempio seguente viene illustrato come creare ed eseguire tipi diversi di oggetti SqlCommand.
Prima di tutto è necessario creare il database di esempio eseguendo lo script seguente:
USE [master]
GO
CREATE DATABASE [MySchool]
GO
USE [MySchool]
GO
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
CREATE procedure [dbo].[CourseExtInfo] @CourseId int
as
select c.CourseID,c.Title,c.Credits,d.Name as DepartmentName
from Course as c left outer join Department as d on c.DepartmentID=d.DepartmentID
where c.CourseID=@CourseId
GO
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
create procedure [dbo].[DepartmentInfo] @DepartmentId int,@CourseCount int output
as
select @CourseCount=Count(c.CourseID)
from course as c
where c.DepartmentID=@DepartmentId
select d.DepartmentID,d.Name,d.Budget,d.StartDate,d.Administrator
from Department as d
where d.DepartmentID=@DepartmentId
GO
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
Create PROCEDURE [dbo].[GetDepartmentsOfSpecifiedYear]
@Year int,@BudgetSum money output
AS
BEGIN
SELECT @BudgetSum=SUM([Budget])
FROM [MySchool].[dbo].[Department]
Where YEAR([StartDate])=@Year
SELECT [DepartmentID]
,[Name]
,[Budget]
,[StartDate]
,[Administrator]
FROM [MySchool].[dbo].[Department]
Where YEAR([StartDate])=@Year
END
GO
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
CREATE TABLE [dbo].[Course]([CourseID] [nvarchar](10) NOT NULL,
[Year] [smallint] NOT NULL,
[Title] [nvarchar](100) NOT NULL,
[Credits] [int] NOT NULL,
[DepartmentID] [int] NOT NULL,
CONSTRAINT [PK_Course] PRIMARY KEY CLUSTERED
(
[CourseID] ASC,
[Year] ASC
)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY]) ON [PRIMARY]
GO
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
CREATE TABLE [dbo].[Department]([DepartmentID] [int] IDENTITY(1,1) NOT NULL,
[Name] [nvarchar](50) NOT NULL,
[Budget] [money] NOT NULL,
[StartDate] [datetime] NOT NULL,
[Administrator] [int] NULL,
CONSTRAINT [PK_Department] PRIMARY KEY CLUSTERED
(
[DepartmentID] ASC
)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY]) ON [PRIMARY]
GO
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
CREATE TABLE [dbo].[Person]([PersonID] [int] IDENTITY(1,1) NOT NULL,
[LastName] [nvarchar](50) NOT NULL,
[FirstName] [nvarchar](50) NOT NULL,
[HireDate] [datetime] NULL,
[EnrollmentDate] [datetime] NULL,
CONSTRAINT [PK_School.Student] PRIMARY KEY CLUSTERED
(
[PersonID] ASC
)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY]) ON [PRIMARY]
GO
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
CREATE TABLE [dbo].[StudentGrade]([EnrollmentID] [int] IDENTITY(1,1) NOT NULL,
[CourseID] [nvarchar](10) NOT NULL,
[StudentID] [int] NOT NULL,
[Grade] [decimal](3, 2) NOT NULL,
CONSTRAINT [PK_StudentGrade] PRIMARY KEY CLUSTERED
(
[EnrollmentID] ASC
)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY]) ON [PRIMARY]
GO
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
create view [dbo].[EnglishCourse]
as
select c.CourseID,c.Title,c.Credits,c.DepartmentID
from Course as c join Department as d on c.DepartmentID=d.DepartmentID
where d.Name=N'English'
GO
INSERT [dbo].[Course] ([CourseID], [Year], [Title], [Credits], [DepartmentID]) VALUES (N'C1045', 2012, N'Calculus', 4, 7)
INSERT [dbo].[Course] ([CourseID], [Year], [Title], [Credits], [DepartmentID]) VALUES (N'C1061', 2012, N'Physics', 4, 1)
INSERT [dbo].[Course] ([CourseID], [Year], [Title], [Credits], [DepartmentID]) VALUES (N'C2021', 2012, N'Composition', 3, 2)
INSERT [dbo].[Course] ([CourseID], [Year], [Title], [Credits], [DepartmentID]) VALUES (N'C2042', 2012, N'Literature', 4, 2)
SET IDENTITY_INSERT [dbo].[Department] ON
INSERT [dbo].[Department] ([DepartmentID], [Name], [Budget], [StartDate], [Administrator]) VALUES (1, N'Engineering', 350000.0000, CAST(0x0000999C00000000 AS DateTime), 2)
INSERT [dbo].[Department] ([DepartmentID], [Name], [Budget], [StartDate], [Administrator]) VALUES (2, N'English', 120000.0000, CAST(0x0000999C00000000 AS DateTime), 6)
INSERT [dbo].[Department] ([DepartmentID], [Name], [Budget], [StartDate], [Administrator]) VALUES (4, N'Economics', 200000.0000, CAST(0x0000999C00000000 AS DateTime), 4)
INSERT [dbo].[Department] ([DepartmentID], [Name], [Budget], [StartDate], [Administrator]) VALUES (7, N'Mathematics', 250024.0000, CAST(0x0000999C00000000 AS DateTime), 3)
SET IDENTITY_INSERT [dbo].[Department] OFF
SET IDENTITY_INSERT [dbo].[Person] ON
INSERT [dbo].[Person] ([PersonID], [LastName], [FirstName], [HireDate], [EnrollmentDate]) VALUES (1, N'Hu', N'Nan', NULL, CAST(0x0000A0BF00000000 AS DateTime))
INSERT [dbo].[Person] ([PersonID], [LastName], [FirstName], [HireDate], [EnrollmentDate]) VALUES (2, N'Norman', N'Laura', NULL, CAST(0x0000A0BF00000000 AS DateTime))
INSERT [dbo].[Person] ([PersonID], [LastName], [FirstName], [HireDate], [EnrollmentDate]) VALUES (3, N'Olivotto', N'Nino', NULL, CAST(0x0000A0BF00000000 AS DateTime))
INSERT [dbo].[Person] ([PersonID], [LastName], [FirstName], [HireDate], [EnrollmentDate]) VALUES (4, N'Anand', N'Arturo', NULL, CAST(0x0000A0BF00000000 AS DateTime))
INSERT [dbo].[Person] ([PersonID], [LastName], [FirstName], [HireDate], [EnrollmentDate]) VALUES (5, N'Jai', N'Damien', NULL, CAST(0x0000A0BF00000000 AS DateTime))
INSERT [dbo].[Person] ([PersonID], [LastName], [FirstName], [HireDate], [EnrollmentDate]) VALUES (6, N'Holt', N'Roger', CAST(0x000097F100000000 AS DateTime), NULL)
INSERT [dbo].[Person] ([PersonID], [LastName], [FirstName], [HireDate], [EnrollmentDate]) VALUES (7, N'Martin', N'Randall', CAST(0x00008B1A00000000 AS DateTime), NULL)
SET IDENTITY_INSERT [dbo].[Person] OFF
SET IDENTITY_INSERT [dbo].[StudentGrade] ON
INSERT [dbo].[StudentGrade] ([EnrollmentID], [CourseID], [StudentID], [Grade]) VALUES (1, N'C1045', 1, CAST(3.50 AS Decimal(3, 2)))
INSERT [dbo].[StudentGrade] ([EnrollmentID], [CourseID], [StudentID], [Grade]) VALUES (2, N'C1045', 2, CAST(3.00 AS Decimal(3, 2)))
INSERT [dbo].[StudentGrade] ([EnrollmentID], [CourseID], [StudentID], [Grade]) VALUES (3, N'C1045', 3, CAST(2.50 AS Decimal(3, 2)))
INSERT [dbo].[StudentGrade] ([EnrollmentID], [CourseID], [StudentID], [Grade]) VALUES (4, N'C1045', 4, CAST(4.00 AS Decimal(3, 2)))
INSERT [dbo].[StudentGrade] ([EnrollmentID], [CourseID], [StudentID], [Grade]) VALUES (5, N'C1045', 5, CAST(3.50 AS Decimal(3, 2)))
INSERT [dbo].[StudentGrade] ([EnrollmentID], [CourseID], [StudentID], [Grade]) VALUES (6, N'C1061', 1, CAST(4.00 AS Decimal(3, 2)))
INSERT [dbo].[StudentGrade] ([EnrollmentID], [CourseID], [StudentID], [Grade]) VALUES (7, N'C1061', 3, CAST(3.50 AS Decimal(3, 2)))
INSERT [dbo].[StudentGrade] ([EnrollmentID], [CourseID], [StudentID], [Grade]) VALUES (8, N'C1061', 4, CAST(2.50 AS Decimal(3, 2)))
INSERT [dbo].[StudentGrade] ([EnrollmentID], [CourseID], [StudentID], [Grade]) VALUES (9, N'C1061', 5, CAST(1.50 AS Decimal(3, 2)))
INSERT [dbo].[StudentGrade] ([EnrollmentID], [CourseID], [StudentID], [Grade]) VALUES (10, N'C2021', 1, CAST(2.50 AS Decimal(3, 2)))
INSERT [dbo].[StudentGrade] ([EnrollmentID], [CourseID], [StudentID], [Grade]) VALUES (11, N'C2021', 2, CAST(3.50 AS Decimal(3, 2)))
INSERT [dbo].[StudentGrade] ([EnrollmentID], [CourseID], [StudentID], [Grade]) VALUES (12, N'C2021', 4, CAST(3.00 AS Decimal(3, 2)))
INSERT [dbo].[StudentGrade] ([EnrollmentID], [CourseID], [StudentID], [Grade]) VALUES (13, N'C2021', 5, CAST(3.00 AS Decimal(3, 2)))
INSERT [dbo].[StudentGrade] ([EnrollmentID], [CourseID], [StudentID], [Grade]) VALUES (14, N'C2042', 1, CAST(2.00 AS Decimal(3, 2)))
INSERT [dbo].[StudentGrade] ([EnrollmentID], [CourseID], [StudentID], [Grade]) VALUES (15, N'C2042', 2, CAST(3.50 AS Decimal(3, 2)))
INSERT [dbo].[StudentGrade] ([EnrollmentID], [CourseID], [StudentID], [Grade]) VALUES (16, N'C2042', 3, CAST(4.00 AS Decimal(3, 2)))
INSERT [dbo].[StudentGrade] ([EnrollmentID], [CourseID], [StudentID], [Grade]) VALUES (17, N'C2042', 5, CAST(3.00 AS Decimal(3, 2)))
SET IDENTITY_INSERT [dbo].[StudentGrade] OFF
ALTER TABLE [dbo].[Course] WITH CHECK ADD CONSTRAINT [FK_Course_Department] FOREIGN KEY([DepartmentID])
REFERENCES [dbo].[Department] ([DepartmentID])
GO
ALTER TABLE [dbo].[Course] CHECK CONSTRAINT [FK_Course_Department]
GO
ALTER TABLE [dbo].[StudentGrade] WITH CHECK ADD CONSTRAINT [FK_StudentGrade_Student] FOREIGN KEY([StudentID])
REFERENCES [dbo].[Person] ([PersonID])
GO
ALTER TABLE [dbo].[StudentGrade] CHECK CONSTRAINT [FK_StudentGrade_Student]
GO
Compilare ed eseguire quindi quanto segue:
using System;
using System.Data;
using Microsoft.Data.SqlClient;
using System.Threading.Tasks;
class Program
{
static class SqlHelper
{
// Set the connection, command, and then execute the command with non query.
public static Int32 ExecuteNonQuery(String connectionString, String commandText,
CommandType commandType, params SqlParameter[] parameters)
{
using (SqlConnection conn = new SqlConnection(connectionString))
{
using (SqlCommand cmd = new SqlCommand(commandText, conn))
{
// There're three command types: StoredProcedure, Text, TableDirect. The TableDirect
// type is only for OLE DB.
cmd.CommandType = commandType;
cmd.Parameters.AddRange(parameters);
conn.Open();
return cmd.ExecuteNonQuery();
}
}
}
// Set the connection, command, and then execute the command and only return one value.
public static Object ExecuteScalar(String connectionString, String commandText,
CommandType commandType, params SqlParameter[] parameters)
{
using (SqlConnection conn = new SqlConnection(connectionString))
{
using (SqlCommand cmd = new SqlCommand(commandText, conn))
{
cmd.CommandType = commandType;
cmd.Parameters.AddRange(parameters);
conn.Open();
return cmd.ExecuteScalar();
}
}
}
// Set the connection, command, and then execute the command with query and return the reader.
public static SqlDataReader ExecuteReader(String connectionString, String commandText,
CommandType commandType, params SqlParameter[] parameters)
{
SqlConnection conn = new SqlConnection(connectionString);
using (SqlCommand cmd = new SqlCommand(commandText, conn))
{
cmd.CommandType = commandType;
cmd.Parameters.AddRange(parameters);
conn.Open();
// When using CommandBehavior.CloseConnection, the connection will be closed when the
// IDataReader is closed.
SqlDataReader reader = cmd.ExecuteReader(CommandBehavior.CloseConnection);
return reader;
}
}
}
static void Main(string[] args)
{
String connectionString = "Data Source=(local);Initial Catalog=MySchool;Integrated Security=True;";
CountCourses(connectionString, 2012);
Console.WriteLine();
Console.WriteLine("Following result is the departments that started from 2007:");
GetDepartments(connectionString, 2007);
Console.WriteLine();
Console.WriteLine("Add the credits when the credits of course is lower than 4.");
AddCredits(connectionString, 4);
Console.WriteLine();
Console.WriteLine("Please press any key to exit...");
Console.ReadKey();
}
static void CountCourses(String connectionString, Int32 year)
{
String commandText = "Select Count([CourseID]) FROM [MySchool].[dbo].[Course] Where Year=@Year";
SqlParameter parameterYear = new SqlParameter("@Year", SqlDbType.Int);
parameterYear.Value = year;
Object oValue = SqlHelper.ExecuteScalar(connectionString, commandText, CommandType.Text, parameterYear);
Int32 count;
if (Int32.TryParse(oValue.ToString(), out count))
Console.WriteLine("There {0} {1} course{2} in {3}.", count > 1 ? "are" : "is", count, count > 1 ? "s" : null, year);
}
// Display the Departments that start from the specified year.
static void GetDepartments(String connectionString, Int32 year)
{
String commandText = "dbo.GetDepartmentsOfSpecifiedYear";
// Specify the year of StartDate
SqlParameter parameterYear = new SqlParameter("@Year", SqlDbType.Int);
parameterYear.Value = year;
// When the direction of parameter is set as Output, you can get the value after
// executing the command.
SqlParameter parameterBudget = new SqlParameter("@BudgetSum", SqlDbType.Money);
parameterBudget.Direction = ParameterDirection.Output;
using (SqlDataReader reader = SqlHelper.ExecuteReader(connectionString, commandText,
CommandType.StoredProcedure, parameterYear, parameterBudget))
{
Console.WriteLine("{0,-20}{1,-20}{2,-20}{3,-20}", "Name", "Budget", "StartDate",
"Administrator");
while (reader.Read())
{
Console.WriteLine("{0,-20}{1,-20:C}{2,-20:d}{3,-20}", reader["Name"],
reader["Budget"], reader["StartDate"], reader["Administrator"]);
}
}
Console.WriteLine("{0,-20}{1,-20:C}", "Sum:", parameterBudget.Value);
}
// If credits of course is lower than the certain value, the method will add the credits.
static void AddCredits(String connectionString, Int32 creditsLow)
{
String commandText = "Update [MySchool].[dbo].[Course] Set Credits=Credits+1 Where Credits<@Credits";
SqlParameter parameterCredits = new SqlParameter("@Credits", creditsLow);
Int32 rows = SqlHelper.ExecuteNonQuery(connectionString, commandText, CommandType.Text, parameterCredits);
Console.WriteLine("{0} row{1} {2} updated.", rows, rows > 1 ? "s" : null, rows > 1 ? "are" : "is");
}
}
Commenti
Quando viene creata un'istanza di , le proprietà di SqlCommand lettura/scrittura vengono impostate sui valori iniziali. Per un elenco di questi valori, vedere il SqlCommand costruttore.
SqlCommand include i metodi seguenti per l'esecuzione di comandi in un database di SQL Server:
| Elemento | Description |
|---|---|
| BeginExecuteNonQuery | Avvia l'esecuzione asincrona dell'istruzione Transact-SQL o della stored procedure descritta da questo SqlCommand, in genere eseguendo comandi come le istruzioni INSERT, DELETE, UPDATE e SET. Ogni chiamata a BeginExecuteNonQuery deve essere associata a una chiamata a EndExecuteNonQuery cui termina l'operazione, in genere in un thread separato. |
| BeginExecuteReader | Avvia l'esecuzione asincrona dell'istruzione Transact-SQL o della stored procedure descritta da questo SqlCommand oggetto e recupera uno o più set di risultati dal server. Ogni chiamata a BeginExecuteReader deve essere associata a una chiamata a EndExecuteReader cui termina l'operazione, in genere in un thread separato. |
| BeginExecuteXmlReader | Avvia l'esecuzione asincrona dell'istruzione Transact-SQL o della stored procedure descritta da questo SqlCommandoggetto . Ogni chiamata a BeginExecuteXmlReader deve essere associata a una chiamata a EndExecuteXmlReader, che termina l'operazione, in genere in un thread separato e restituisce un XmlReader oggetto . |
| ExecuteReader | Esegue i comandi che restituiscono righe. Per migliorare le prestazioni, ExecuteReader richiama i comandi usando la stored procedure di sistema Transact-SQL sp_executesql . Pertanto, ExecuteReader potrebbe non avere l'effetto desiderato se usato per eseguire comandi come Transact-SQL istruzioni SET. |
| ExecuteNonQuery | Esegue comandi come Transact-SQL istruzioni INSERT, DELETE, UPDATE e SET. |
| ExecuteScalar | Recupera un singolo valore , ad esempio un valore di aggregazione, da un database. |
| ExecuteXmlReader | Invia all'oggetto CommandTextConnection e compila un XmlReader oggetto . |
È possibile reimpostare la CommandText proprietà e riutilizzare l'oggetto SqlCommand . Tuttavia, è necessario chiudere prima SqlDataReader di poter eseguire un comando nuovo o precedente.
Se un SqlException oggetto viene generato dal metodo che esegue un SqlCommandoggetto , rimane SqlConnection aperto quando il livello di gravità è 19 o minore. Quando il livello di gravità è 20 o superiore, il server in genere chiude .SqlConnection Tuttavia, l'utente può riaprire la connessione e continuare.
Note
I parametri senza nome, detti anche ordinali, non sono supportati dal provider di dati .NET Framework per SQL Server.
Costruttori
| Nome | Descrizione |
|---|---|
| SqlCommand() |
Inizializza una nuova istanza della classe SqlCommand. |
| SqlCommand(String, SqlConnection, SqlTransaction, SqlCommandColumnEncryptionSetting) |
Inizializza una nuova istanza della SqlCommand classe con testo del comando, connessione, transazione e impostazione di crittografia specificati. |
| SqlCommand(String, SqlConnection, SqlTransaction) |
Inizializza una nuova istanza della SqlCommand classe con il testo della query, un SqlConnectionoggetto e .SqlTransaction |
| SqlCommand(String, SqlConnection) |
Inizializza una nuova istanza della SqlCommand classe con il testo della query e un oggetto SqlConnection. |
| SqlCommand(String) |
Inizializza una nuova istanza della SqlCommand classe con il testo della query. |
Proprietà
| Nome | Descrizione |
|---|---|
| ColumnEncryptionSetting |
Ottiene l'impostazione di crittografia della colonna per questo comando. |
| CommandText |
Ottiene o imposta l'istruzione Transact-SQL, il nome della tabella o la stored procedure da eseguire nell'origine dati. |
| CommandTimeout |
Ottiene o imposta il tempo di attesa , espresso in secondi, prima di terminare il tentativo di eseguire un comando e generare un errore. Il valore predefinito è 30 secondi. |
| CommandType |
Ottiene o imposta un valore che indica come deve essere interpretata la CommandText proprietà. |
| Connection |
Ottiene o imposta l'oggetto SqlConnection utilizzato da questa istanza di SqlCommand. |
| DesignTimeVisible |
Ottiene o imposta un valore che indica se l'oggetto comando deve essere visibile in un controllo Progettazione Windows Form. |
| EnableOptimizedParameterBinding |
Ottiene o imposta un valore che indica se l'oggetto comando deve ottimizzare le prestazioni dei parametri disabilitando le istruzioni di Output e InputOutput durante l'invio del comando al SQL Server. |
| Notification |
Ottiene o imposta un valore che specifica l'oggetto SqlNotificationRequest associato a questo comando. |
| NotificationAutoEnlist |
Ottiene o imposta un valore che indica se l'applicazione deve ricevere automaticamente notifiche di query da un oggetto comune SqlDependency . |
| Parameters |
Ottiene l'oggetto SqlParameterCollection. |
| RetryLogicProvider |
Ottiene o imposta un valore che specifica l'oggetto SqlRetryLogicBaseProvider associato a questo comando. |
| Transaction |
Ottiene o imposta l'oggetto all'interno del SqlTransaction quale viene eseguito l'oggetto SqlCommand . |
| UpdatedRowSource |
Ottiene o imposta la DataRow modalità di applicazione dei risultati del comando a quando viene utilizzato dal |
Metodi
| Nome | Descrizione |
|---|---|
| BeginExecuteNonQuery() |
Avvia l'esecuzione asincrona dell'istruzione Transact-SQL o della stored procedure descritta da questo SqlCommandoggetto . |
| BeginExecuteNonQuery(AsyncCallback, Object) |
Avvia l'esecuzione asincrona dell'istruzione Transact-SQL o della stored procedure descritta da , SqlCommandin base a una routine di callback e informazioni sullo stato. |
| BeginExecuteReader() |
Avvia l'esecuzione asincrona dell'istruzione Transact-SQL o della stored procedure descritta da questo SqlCommandoggetto e recupera uno o più set di risultati dal server. |
| BeginExecuteReader(AsyncCallback, Object, CommandBehavior) |
Avvia l'esecuzione asincrona dell'istruzione Transact-SQL o della stored procedure descritta da questo SqlCommand utilizzando una delle
|
| BeginExecuteReader(AsyncCallback, Object) |
Avvia l'esecuzione asincrona dell'istruzione Transact-SQL o della stored procedure descritta da questo SqlCommand oggetto e restituisce i risultati come XmlReader oggetto utilizzando una routine di callback. |
| BeginExecuteReader(CommandBehavior) |
Avvia l'esecuzione asincrona dell'istruzione Transact-SQL o della stored procedure descritta da questo SqlCommand oggetto utilizzando uno dei CommandBehavior valori . |
| BeginExecuteXmlReader() |
Avvia l'esecuzione asincrona dell'istruzione Transact-SQL o della stored procedure descritta da questo SqlCommand oggetto e restituisce i risultati come XmlReader oggetto . |
| BeginExecuteXmlReader(AsyncCallback, Object) |
Avvia l'esecuzione asincrona dell'istruzione Transact-SQL o della stored procedure descritta da questo SqlCommand oggetto e restituisce i risultati come XmlReader oggetto utilizzando una routine di callback. |
| Cancel() |
Tenta di annullare l'esecuzione di un oggetto SqlCommand. |
| Clone() |
Crea un nuovo SqlCommand oggetto che rappresenta una copia dell'istanza corrente. |
| CreateParameter() |
Crea una nuova istanza di un SqlParameter oggetto . |
| EndExecuteNonQuery(IAsyncResult) |
Termina l'esecuzione asincrona di un'istruzione Transact-SQL. |
| EndExecuteReader(IAsyncResult) |
Termina l'esecuzione asincrona di un'istruzione Transact-SQL, restituendo il SqlDataReader richiesto. |
| EndExecuteXmlReader(IAsyncResult) |
Termina l'esecuzione asincrona di un'istruzione Transact-SQL, restituendo i dati richiesti come XML. |
| ExecuteNonQuery() |
Esegue un'istruzione Transact-SQL sulla connessione e restituisce il numero di righe interessate. |
| ExecuteNonQueryAsync(CancellationToken) |
Versione asincrona di ExecuteNonQuery(), che esegue un'istruzione Transact-SQL sulla connessione e restituisce il numero di righe interessate. Il token di annullamento può essere usato per richiedere che l'operazione venga abbandonata prima della scadenza del timeout del comando. Le eccezioni verranno segnalate tramite l'oggetto Task restituito. |
| ExecuteReader() |
Invia all'oggetto CommandTextConnection e compila un oggetto SqlDataReader. |
| ExecuteReader(CommandBehavior) |
Invia all'oggetto CommandTextConnectione compila un SqlDataReader oggetto utilizzando uno dei CommandBehavior valori . |
| ExecuteReaderAsync() |
Versione asincrona di ExecuteReader(), che invia all'oggetto CommandTextConnection e compila un oggetto SqlDataReader. Le eccezioni verranno segnalate tramite l'oggetto Task restituito. |
| ExecuteReaderAsync(CancellationToken) |
Versione asincrona di ExecuteReader(), che invia all'oggetto CommandTextConnection e compila un oggetto SqlDataReader. Il token di annullamento può essere usato per richiedere che l'operazione venga abbandonata prima della scadenza del timeout del comando. Le eccezioni verranno segnalate tramite l'oggetto Task restituito. |
| ExecuteReaderAsync(CommandBehavior, CancellationToken) |
Una versione asincrona di ExecuteReader(CommandBehavior), che invia l'oggetto CommandTextConnectiona e compila un SqlDataReader token di annullamento può essere usato per richiedere che l'operazione venga abbandonata prima che il timeout del comando venga trascorso. Le eccezioni verranno segnalate tramite l'oggetto Task restituito. |
| ExecuteReaderAsync(CommandBehavior) |
Una versione asincrona di ExecuteReader(CommandBehavior), che invia l'oggetto CommandTextConnectiona e compila un oggetto SqlDataReader. Le eccezioni verranno segnalate tramite l'oggetto Task restituito. |
| ExecuteScalar() |
Esegue la query e restituisce la prima colonna della prima riga nel set di risultati restituito dalla query. Le colonne o le righe aggiuntive vengono ignorate. |
| ExecuteScalarAsync(CancellationToken) |
Versione asincrona di , che esegue la query in modo asincrono e restituisce la prima colonna della prima riga nel set di ExecuteScalar()risultati restituito dalla query. Le colonne o le righe aggiuntive vengono ignorate. Il token di annullamento può essere usato per richiedere che l'operazione venga abbandonata prima della scadenza del timeout del comando. Le eccezioni verranno segnalate tramite l'oggetto Task restituito. |
| ExecuteXmlReader() |
Invia all'oggetto CommandTextConnection e compila un XmlReader oggetto . |
| ExecuteXmlReaderAsync() |
Versione asincrona di ExecuteXmlReader(), che invia all'oggetto CommandTextConnection e compila un XmlReader oggetto . Le eccezioni verranno segnalate tramite l'oggetto Task restituito. |
| ExecuteXmlReaderAsync(CancellationToken) |
Versione asincrona di ExecuteXmlReader(), che invia all'oggetto CommandTextConnection e compila un XmlReader oggetto . Il token di annullamento può essere usato per richiedere che l'operazione venga abbandonata prima della scadenza del timeout del comando. Le eccezioni verranno segnalate tramite l'oggetto Task restituito. |
| Prepare() |
Crea una versione preparata del comando in un'istanza di SQL Server. |
| RegisterColumnEncryptionKeyStoreProvidersOnCommand(IDictionary<String,SqlColumnEncryptionKeyStoreProvider>) |
Registra i provider dell'archivio chiavi di crittografia nell'istanza SqlCommand di . Se questa funzione è stata chiamata, tutti i provider registrati utilizzando i RegisterColumnEncryptionKeyStoreProviders(IDictionary<String,SqlColumnEncryptionKeyStoreProvider>) metodi o RegisterColumnEncryptionKeyStoreProvidersOnConnection(IDictionary<String,SqlColumnEncryptionKeyStoreProvider>) verranno ignorati. Questa funzione può essere chiamata più volte. Questa operazione esegue la copia superficiale del dizionario in modo che l'app non possa modificare l'elenco di provider personalizzato dopo che è stato impostato. |
| ResetCommandTimeout() |
Reimposta il valore predefinito della CommandTimeout proprietà. |
Eventi
| Nome | Descrizione |
|---|---|
| StatementCompleted |
Si verifica quando viene completata l'esecuzione di un'istruzione Transact-SQL. |
Implementazioni dell'interfaccia esplicita
| Nome | Descrizione |
|---|---|
| ICloneable.Clone() |
Rappresenta un'istruzione Transact-SQL o una stored procedure da eseguire su un database SQL Server. Questa classe non può essere ereditata. |