SqlCommand Klasa
Definicja
Ważne
Niektóre informacje odnoszą się do produktu w wersji wstępnej, który może zostać znacząco zmodyfikowany przed wydaniem. Firma Microsoft nie udziela żadnych gwarancji, jawnych lub domniemanych, w odniesieniu do informacji podanych w tym miejscu.
Reprezentuje instrukcję Transact-SQL lub procedurę składowaną do wykonania względem bazy danych SQL Server. Tej klasy nie można dziedziczyć.
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
- Dziedziczenie
-
SqlCommand
- Implementuje
Przykłady
Poniższy przykład tworzy obiekt SqlConnection, , SqlCommandi SqlDataReader. Przykład odczytuje dane, zapisuj je w konsoli. Na koniec przykład zamyka bloki SqlDataReader kodu, a następnie SqlConnection powoduje zamknięcie Using bloków kodu.
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]));
}
}
}
}
W poniższym przykładzie pokazano, jak utworzyć i wykonać różne typy obiektów SqlCommand.
Najpierw należy utworzyć przykładową bazę danych, wykonując następujący skrypt:
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
Następnie skompiluj i wykonaj następujące czynności:
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");
}
}
Uwagi
Po utworzeniu SqlCommand wystąpienia właściwości odczytu/zapisu są ustawione na ich wartości początkowe. Aby uzyskać listę tych wartości, zobacz konstruktor SqlCommand.
SqlCommand oferuje następujące metody wykonywania poleceń w bazie danych programu SQL Server:
| Pozycja | Description |
|---|---|
| BeginExecuteNonQuery | Inicjuje asynchroniczne wykonywanie instrukcji Transact-SQL lub procedury składowanej opisanej w tym SqlCommandobiekcie , zazwyczaj wykonuje polecenia, takie jak INSERT, DELETE, UPDATE i SET. Każde wywołanie BeginExecuteNonQuery musi być sparowane z wywołaniem, do EndExecuteNonQuery którego kończy operację, zazwyczaj w osobnym wątku. |
| BeginExecuteReader | Inicjuje asynchroniczne wykonywanie instrukcji Transact-SQL lub procedury składowanej opisanej w tym temacie SqlCommand i pobiera jeden lub więcej zestawów wyników z serwera. Każde wywołanie BeginExecuteReader musi być sparowane z wywołaniem, do EndExecuteReader którego kończy operację, zazwyczaj w osobnym wątku. |
| BeginExecuteXmlReader | Inicjuje asynchroniczne wykonywanie instrukcji Transact-SQL lub procedury składowanej opisanej przez ten element SqlCommand. Każde wywołanie BeginExecuteXmlReader musi być sparowane z wywołaniem metody EndExecuteXmlReader, które kończy operację, zazwyczaj w osobnym wątku i zwraca XmlReader obiekt. |
| ExecuteReader | Wykonuje polecenia zwracające wiersze. Aby zwiększyć wydajność, ExecuteReader wywołuje polecenia przy użyciu procedury składowanej systemu Transact-SQL sp_executesql .
ExecuteReader W związku z tym może nie mieć wpływu, który ma być używany do wykonywania poleceń, takich jak instrukcje Transact-SQL SET. |
| ExecuteNonQuery | Wykonuje polecenia, takie jak instrukcje Transact-SQL INSERT, DELETE, UPDATE i SET. |
| ExecuteScalar | Pobiera pojedynczą wartość (na przykład wartość agregowaną) z bazy danych. |
| ExecuteXmlReader | Wysyła element CommandText do obiektu Connection i tworzy XmlReader obiekt . |
Możesz zresetować CommandText właściwość i ponownie użyć SqlCommand obiektu. Należy jednak zamknąć element SqlDataReader przed wykonaniem nowego lub poprzedniego polecenia.
SqlException Jeśli element jest generowany przez metodę wykonującą SqlCommandelement , SqlConnection pozostaje otwarty, gdy poziom ważności wynosi 19 lub mniej. Gdy poziom ważności wynosi 20 lub więcej, serwer zwykle zamyka SqlConnectionwartość . Użytkownik może jednak ponownie otworzyć połączenie i kontynuować.
Uwaga / Notatka
Parametry bez nazw, nazywane również porządkowe, nie są obsługiwane przez dostawcę danych programu .NET Framework dla programu SQL Server.
Konstruktory
| Nazwa | Opis |
|---|---|
| SqlCommand() |
Inicjuje nowe wystąpienie klasy SqlCommand. |
| SqlCommand(String, SqlConnection, SqlTransaction, SqlCommandColumnEncryptionSetting) |
Inicjuje SqlCommand nowe wystąpienie klasy z określonym tekstem polecenia, połączeniem, transakcją i ustawieniem szyfrowania. |
| SqlCommand(String, SqlConnection, SqlTransaction) |
Inicjuje nowe wystąpienie SqlCommand klasy przy użyciu tekstu zapytania , i SqlConnectionSqlTransaction. |
| SqlCommand(String, SqlConnection) |
Inicjuje nowe wystąpienie SqlCommand klasy przy użyciu tekstu zapytania i .SqlConnection |
| SqlCommand(String) |
Inicjuje nowe wystąpienie SqlCommand klasy tekstem zapytania. |
Właściwości
| Nazwa | Opis |
|---|---|
| ColumnEncryptionSetting |
Pobiera ustawienie szyfrowania kolumn dla tego polecenia. |
| CommandText |
Pobiera lub ustawia instrukcję Transact-SQL, nazwę tabeli lub procedurę składowaną do wykonania w źródle danych. |
| CommandTimeout |
Pobiera lub ustawia czas oczekiwania (w sekundach) przed zakończeniem próby wykonania polecenia i wygenerowaniem błędu. Wartość domyślna to 30 sekund. |
| CommandType |
Pobiera lub ustawia wartość wskazującą sposób CommandText interpretowania właściwości. |
| Connection |
Pobiera lub ustawia SqlConnection wartość używaną przez to wystąpienie klasy SqlCommand. |
| DesignTimeVisible |
Pobiera lub ustawia wartość wskazującą, czy obiekt polecenia powinien być widoczny w kontrolce Windows Form Designer. |
| EnableOptimizedParameterBinding |
Pobiera lub ustawia wartość wskazującą, czy obiekt polecenia powinien zoptymalizować wydajność parametrów, wyłączając wskazówki wyjściowe i InputOutput podczas przesyłania polecenia do SQL Server. |
| Notification |
Pobiera lub ustawia wartość określającą SqlNotificationRequest obiekt powiązany z tym poleceniem. |
| NotificationAutoEnlist |
Pobiera lub ustawia wartość wskazującą, czy aplikacja powinna automatycznie odbierać powiadomienia o zapytaniach z wspólnego SqlDependency obiektu. |
| Parameters |
Pobiera klasę SqlParameterCollection. |
| RetryLogicProvider |
Pobiera lub ustawia wartość określającą SqlRetryLogicBaseProvider obiekt powiązany z tym poleceniem. |
| Transaction |
Pobiera lub ustawia element SqlTransaction , w którym SqlCommand jest wykonywany. |
| UpdatedRowSource |
Pobiera lub ustawia sposób stosowania wyników poleceń do DataRow metody , gdy są używane przez |
Metody
| Nazwa | Opis |
|---|---|
| BeginExecuteNonQuery() |
Inicjuje asynchroniczne wykonywanie instrukcji Transact-SQL lub procedury składowanej opisanej przez ten element SqlCommand. |
| BeginExecuteNonQuery(AsyncCallback, Object) |
Inicjuje asynchroniczne wykonywanie instrukcji Transact-SQL lub procedury składowanej opisanej w tym SqlCommandobiekcie, biorąc pod uwagę procedurę wywołania zwrotnego i informacje o stanie. |
| BeginExecuteReader() |
Inicjuje asynchroniczne wykonywanie instrukcji Transact-SQL lub procedury składowanej opisanej przez ten SqlCommandobiekt i pobiera jeden lub więcej zestawów wyników z serwera. |
| BeginExecuteReader(AsyncCallback, Object, CommandBehavior) |
Inicjuje asynchroniczne wykonywanie instrukcji Transact-SQL lub procedury składowanej opisanej w tym SqlCommand przy użyciu jednej z instrukcji
|
| BeginExecuteReader(AsyncCallback, Object) |
Inicjuje asynchroniczne wykonywanie instrukcji Transact-SQL lub procedury składowanej opisanej przez tę SqlCommand metodę XmlReader i zwraca wyniki jako obiekt przy użyciu procedury wywołania zwrotnego. |
| BeginExecuteReader(CommandBehavior) |
Inicjuje asynchroniczne wykonywanie instrukcji Transact-SQL lub procedury składowanej opisanej za pomocą SqlCommand jednej z CommandBehavior wartości. |
| BeginExecuteXmlReader() |
Inicjuje asynchroniczne wykonywanie instrukcji Transact-SQL lub procedury składowanej opisanej przez tę metodę SqlCommandXmlReader i zwraca wyniki jako obiekt. |
| BeginExecuteXmlReader(AsyncCallback, Object) |
Inicjuje asynchroniczne wykonywanie instrukcji Transact-SQL lub procedury składowanej opisanej przez tę SqlCommand metodę XmlReader i zwraca wyniki jako obiekt przy użyciu procedury wywołania zwrotnego. |
| Cancel() |
Próbuje anulować wykonanie obiektu SqlCommand. |
| Clone() |
Tworzy nowy SqlCommand obiekt, który jest kopią bieżącego wystąpienia. |
| CreateParameter() |
Tworzy nowe wystąpienie SqlParameter obiektu. |
| EndExecuteNonQuery(IAsyncResult) |
Kończy asynchroniczne wykonywanie instrukcji Transact-SQL. |
| EndExecuteReader(IAsyncResult) |
Kończy asynchroniczne wykonywanie instrukcji Transact-SQL, zwracając żądany SqlDataReader . |
| EndExecuteXmlReader(IAsyncResult) |
Kończy asynchroniczne wykonywanie instrukcji Transact-SQL, zwracając żądane dane jako XML. |
| ExecuteNonQuery() |
Wykonuje instrukcję Transact-SQL względem połączenia i zwraca liczbę wierszy, których dotyczy problem. |
| ExecuteNonQueryAsync(CancellationToken) |
Asynchroniczna wersja ExecuteNonQuery()programu , która wykonuje instrukcję Transact-SQL względem połączenia i zwraca liczbę wierszy, których dotyczy problem. Token anulowania może służyć do żądania porzucenia operacji przed upływem limitu czasu polecenia. Wyjątki będą zgłaszane za pośrednictwem zwróconego obiektu Zadania. |
| ExecuteReader() |
Wysyła element CommandText do pliku Connection i tworzy element SqlDataReader. |
| ExecuteReader(CommandBehavior) |
Wysyła element CommandText do elementu Connectioni tworzy obiekt SqlDataReader przy użyciu jednej z CommandBehavior wartości. |
| ExecuteReaderAsync() |
Asynchroniczna wersja ExecuteReader()elementu , która wysyła CommandText element do Connection elementu i tworzy element SqlDataReader. Wyjątki będą zgłaszane za pośrednictwem zwróconego obiektu Zadania. |
| ExecuteReaderAsync(CancellationToken) |
Asynchroniczna wersja ExecuteReader()elementu , która wysyła CommandText element do Connection elementu i tworzy element SqlDataReader. Token anulowania może służyć do żądania porzucenia operacji przed upływem limitu czasu polecenia. Wyjątki będą zgłaszane za pośrednictwem zwróconego obiektu Zadania. |
| ExecuteReaderAsync(CommandBehavior, CancellationToken) |
Asynchroniczna wersja ExecuteReader(CommandBehavior)elementu , która wysyła CommandText element do Connectionelementu i tworzy SqlDataReader token anulowania, może służyć do żądania porzucenia operacji przed upływem limitu czasu polecenia. Wyjątki będą zgłaszane za pośrednictwem zwróconego obiektu Zadania. |
| ExecuteReaderAsync(CommandBehavior) |
Asynchroniczna wersja ExecuteReader(CommandBehavior)elementu , która wysyła CommandText element do Connectionelementu i tworzy element SqlDataReader. Wyjątki będą zgłaszane za pośrednictwem zwróconego obiektu Zadania. |
| ExecuteScalar() |
Wykonuje zapytanie i zwraca pierwszą kolumnę pierwszego wiersza w zestawie wyników zwróconym przez zapytanie. Dodatkowe kolumny lub wiersze są ignorowane. |
| ExecuteScalarAsync(CancellationToken) |
Asynchroniczna wersja ExecuteScalar()elementu , która wykonuje zapytanie asynchronicznie i zwraca pierwszą kolumnę pierwszego wiersza w zestawie wyników zwróconym przez zapytanie. Dodatkowe kolumny lub wiersze są ignorowane. Token anulowania może służyć do żądania porzucenia operacji przed upływem limitu czasu polecenia. Wyjątki będą zgłaszane za pośrednictwem zwróconego obiektu Zadania. |
| ExecuteXmlReader() |
Wysyła element CommandText do obiektu Connection i tworzy XmlReader obiekt . |
| ExecuteXmlReaderAsync() |
Asynchroniczna wersja ExecuteXmlReader()elementu , która wysyła CommandText element do Connection obiektu i tworzy XmlReader obiekt . Wyjątki będą zgłaszane za pośrednictwem zwróconego obiektu Zadania. |
| ExecuteXmlReaderAsync(CancellationToken) |
Asynchroniczna wersja ExecuteXmlReader()elementu , która wysyła CommandText element do Connection obiektu i tworzy XmlReader obiekt . Token anulowania może służyć do żądania porzucenia operacji przed upływem limitu czasu polecenia. Wyjątki będą zgłaszane za pośrednictwem zwróconego obiektu Zadania. |
| Prepare() |
Tworzy przygotowaną wersję polecenia w wystąpieniu programu SQL Server. |
| RegisterColumnEncryptionKeyStoreProvidersOnCommand(IDictionary<String,SqlColumnEncryptionKeyStoreProvider>) |
Rejestruje dostawców magazynu kluczy szyfrowania w wystąpieniu SqlCommand . Jeśli ta funkcja została wywołana, wszyscy dostawcy zarejestrowani przy użyciu RegisterColumnEncryptionKeyStoreProviders(IDictionary<String,SqlColumnEncryptionKeyStoreProvider>) metod lub RegisterColumnEncryptionKeyStoreProvidersOnConnection(IDictionary<String,SqlColumnEncryptionKeyStoreProvider>) zostaną zignorowani. Ta funkcja może być wywoływana więcej niż raz. Powoduje to płytkie kopiowanie słownika, dzięki czemu aplikacja nie może zmienić listy dostawców niestandardowych po jej ustawieniu. |
| ResetCommandTimeout() |
Resetuje CommandTimeout właściwość do jej wartości domyślnej. |
Zdarzenia
| Nazwa | Opis |
|---|---|
| StatementCompleted |
Występuje po zakończeniu wykonywania instrukcji Transact-SQL. |
Jawne implementacje interfejsu
| Nazwa | Opis |
|---|---|
| ICloneable.Clone() |
Reprezentuje instrukcję Transact-SQL lub procedurę składowaną do wykonania względem bazy danych SQL Server. Tej klasy nie można dziedziczyć. |