Прочитать на английском

Поделиться через


SqlDataAdapter Конструкторы

Определение

Инициализирует новый экземпляр класса SqlDataAdapter.

Перегрузки

SqlDataAdapter()

Инициализирует новый экземпляр класса SqlDataAdapter.

SqlDataAdapter(SqlCommand)

Инициализирует новый экземпляр класса SqlDataAdapter с помощью указанной команды SqlCommand в качестве свойства SelectCommand.

SqlDataAdapter(String, SqlConnection)

Инициализирует новый экземпляр класса SqlDataAdapter с помощью SelectCommand и объекта SqlConnection.

SqlDataAdapter(String, String)

Инициализирует новый экземпляр класса SqlDataAdapter с помощью SelectCommand и строки подключения.

SqlDataAdapter()

Исходный код:
System.Data.SqlClient.notsupported.cs

Инициализирует новый экземпляр класса SqlDataAdapter.

C#
public SqlDataAdapter();

Примеры

В следующем примере создается SqlDataAdapter и задаются некоторые его свойства.

C#
public static SqlDataAdapter CreateSqlDataAdapter(SqlConnection connection)
{
    SqlDataAdapter adapter = new SqlDataAdapter();
    adapter.MissingSchemaAction = MissingSchemaAction.AddWithKey;

    // Create the commands.
    adapter.SelectCommand = new SqlCommand(
        "SELECT CustomerID, CompanyName FROM CUSTOMERS", connection);
    adapter.InsertCommand = new SqlCommand(
        "INSERT INTO Customers (CustomerID, CompanyName) " +
        "VALUES (@CustomerID, @CompanyName)", connection);
    adapter.UpdateCommand = new SqlCommand(
        "UPDATE Customers SET CustomerID = @CustomerID, CompanyName = @CompanyName " +
        "WHERE CustomerID = @oldCustomerID", connection);
    adapter.DeleteCommand = new SqlCommand(
        "DELETE FROM Customers WHERE CustomerID = @CustomerID", connection);

    // Create the parameters.
    adapter.InsertCommand.Parameters.Add("@CustomerID",
        SqlDbType.Char, 5, "CustomerID");
    adapter.InsertCommand.Parameters.Add("@CompanyName",
        SqlDbType.VarChar, 40, "CompanyName");

    adapter.UpdateCommand.Parameters.Add("@CustomerID",
        SqlDbType.Char, 5, "CustomerID");
    adapter.UpdateCommand.Parameters.Add("@CompanyName",
        SqlDbType.VarChar, 40, "CompanyName");
    adapter.UpdateCommand.Parameters.Add("@oldCustomerID",
        SqlDbType.Char, 5, "CustomerID").SourceVersion =
        DataRowVersion.Original;

    adapter.DeleteCommand.Parameters.Add("@CustomerID",
        SqlDbType.Char, 5, "CustomerID").SourceVersion =
        DataRowVersion.Original;

    return adapter;
}

Комментарии

При создании экземпляра SqlDataAdapter для следующих свойств чтения и записи устанавливаются следующие начальные значения.

Свойства Начальное значение
MissingMappingAction MissingMappingAction.Passthrough
MissingSchemaAction MissingSchemaAction.Add

Значение любого из этих свойств можно изменить с помощью отдельного вызова свойства .

См. также раздел

Применяется к

.NET 10 (package-provided) и другие версии
Продукт Версии
.NET 6 (package-provided), 7 (package-provided), 8 (package-provided), 9 (package-provided), 10 (package-provided)
.NET Framework 1.1, 2.0, 3.0, 3.5, 4.0, 4.5, 4.5.1, 4.5.2, 4.6, 4.6.1, 4.6.2, 4.7, 4.7.1, 4.7.2, 4.8, 4.8.1
.NET Standard 2.0 (package-provided)

SqlDataAdapter(SqlCommand)

Исходный код:
System.Data.SqlClient.notsupported.cs

Инициализирует новый экземпляр класса SqlDataAdapter с помощью указанной команды SqlCommand в качестве свойства SelectCommand.

C#
public SqlDataAdapter(System.Data.SqlClient.SqlCommand selectCommand);

Параметры

selectCommand
SqlCommand

Объект SqlCommand, содержащий инструкцию Transact-SQL SELECT или хранимую процедуру, задаваемый в свойстве SelectCommand объекта SqlDataAdapter.

Примеры

В следующем примере создается SqlDataAdapter и задаются некоторые его свойства.

C#
public static SqlDataAdapter CreateSqlDataAdapter(SqlCommand selectCommand,
    SqlConnection connection)
{
    SqlDataAdapter adapter = new SqlDataAdapter(selectCommand);
    adapter.MissingSchemaAction = MissingSchemaAction.AddWithKey;

    // Create the other commands.
    adapter.InsertCommand = new SqlCommand(
        "INSERT INTO Customers (CustomerID, CompanyName) " +
        "VALUES (@CustomerID, @CompanyName)", connection);

    adapter.UpdateCommand = new SqlCommand(
        "UPDATE Customers SET CustomerID = @CustomerID, CompanyName = @CompanyName " +
        "WHERE CustomerID = @oldCustomerID", connection);

    adapter.DeleteCommand = new SqlCommand(
        "DELETE FROM Customers WHERE CustomerID = @CustomerID", connection);

    // Create the parameters.
    adapter.InsertCommand.Parameters.Add("@CustomerID",
        SqlDbType.Char, 5, "CustomerID");
    adapter.InsertCommand.Parameters.Add("@CompanyName",
        SqlDbType.VarChar, 40, "CompanyName");

    adapter.UpdateCommand.Parameters.Add("@CustomerID",
        SqlDbType.Char, 5, "CustomerID");
    adapter.UpdateCommand.Parameters.Add("@CompanyName",
        SqlDbType.VarChar, 40, "CompanyName");
    adapter.UpdateCommand.Parameters.Add("@oldCustomerID",
        SqlDbType.Char, 5, "CustomerID").SourceVersion = DataRowVersion.Original;

    adapter.DeleteCommand.Parameters.Add("@CustomerID",
        SqlDbType.Char, 5, "CustomerID").SourceVersion = DataRowVersion.Original;

    return adapter;
}

Комментарии

Эта реализация конструктора SqlDataAdapter задает свойству SelectCommand значение, указанное в параметре selectCommand .

При создании экземпляра SqlDataAdapter для следующих свойств чтения и записи устанавливаются следующие начальные значения.

Свойства Начальное значение
MissingMappingAction MissingMappingAction.Passthrough
MissingSchemaAction MissingSchemaAction.Add

Значение любого из этих свойств можно изменить с помощью отдельного вызова свойства .

Если SelectCommand (или любое из других свойств команды) назначается ранее созданному SqlCommandобъекту SqlCommand , объект не клонируется. Сохраняет SelectCommand ссылку на ранее созданный SqlCommand объект .

См. также раздел

Применяется к

.NET 10 (package-provided) и другие версии
Продукт Версии
.NET 6 (package-provided), 7 (package-provided), 8 (package-provided), 9 (package-provided), 10 (package-provided)
.NET Framework 1.1, 2.0, 3.0, 3.5, 4.0, 4.5, 4.5.1, 4.5.2, 4.6, 4.6.1, 4.6.2, 4.7, 4.7.1, 4.7.2, 4.8, 4.8.1
.NET Standard 2.0 (package-provided)

SqlDataAdapter(String, SqlConnection)

Исходный код:
System.Data.SqlClient.notsupported.cs

Инициализирует новый экземпляр класса SqlDataAdapter с помощью SelectCommand и объекта SqlConnection.

C#
public SqlDataAdapter(string selectCommandText, System.Data.SqlClient.SqlConnection selectConnection);

Параметры

selectCommandText
String

Объект String, содержащий инструкцию Transact-SQL SELECT или хранимую процедуру для использования в свойстве SelectCommand объекта SqlDataAdapter.

selectConnection
SqlConnection

SqlConnection, предоставляющее подключение. Если строка подключения не использует Integrated Security = true, можно использовать SqlCredential для более безопасной передачи идентификатора пользователя и пароля, чем при указании идентификатора пользователя и пароля в строке подключения в виде текста.

Примеры

В следующем примере создается SqlDataAdapter и задаются некоторые его свойства.

C#
public static SqlDataAdapter CreateSqlDataAdapter(string commandText,
    SqlConnection connection)
{
    SqlDataAdapter adapter = new SqlDataAdapter(commandText, connection);

    adapter.MissingSchemaAction = MissingSchemaAction.AddWithKey;

    // Create the other commands.
    adapter.InsertCommand = new SqlCommand(
        "INSERT INTO Customers (CustomerID, CompanyName) " +
        "VALUES (@CustomerID, @CompanyName)");

    adapter.UpdateCommand = new SqlCommand(
        "UPDATE Customers SET CustomerID = @CustomerID, CompanyName = @CompanyName " +
        "WHERE CustomerID = @oldCustomerID");

    adapter.DeleteCommand = new SqlCommand(
        "DELETE FROM Customers WHERE CustomerID = @CustomerID");

    // Create the parameters.
    adapter.InsertCommand.Parameters.Add("@CustomerID",
        SqlDbType.Char, 5, "CustomerID");
    adapter.InsertCommand.Parameters.Add("@CompanyName",
        SqlDbType.VarChar, 40, "CompanyName");

    adapter.UpdateCommand.Parameters.Add("@CustomerID",
        SqlDbType.Char, 5, "CustomerID");
    adapter.UpdateCommand.Parameters.Add("@CompanyName",
        SqlDbType.VarChar, 40, "CompanyName");
    adapter.UpdateCommand.Parameters.Add("@oldCustomerID",
        SqlDbType.Char, 5, "CustomerID").SourceVersion = DataRowVersion.Original;

    adapter.DeleteCommand.Parameters.Add("@CustomerID",
        SqlDbType.Char, 5, "CustomerID").SourceVersion = DataRowVersion.Original;

    return adapter;
}

Комментарии

Эта реализация SqlDataAdapter открывает и закрывает , SqlConnection если он еще не открыт. Это может быть полезно в приложении, которое должно вызывать Fill метод для двух или более SqlDataAdapter объектов. SqlConnection Если объект уже открыт, необходимо явно вызвать метод Close или Dispose, чтобы закрыть его.

При создании экземпляра SqlDataAdapter для следующих свойств чтения и записи устанавливаются следующие начальные значения.

Свойства Начальное значение
MissingMappingAction MissingMappingAction.Passthrough
MissingSchemaAction MissingSchemaAction.Add

Вы можете изменить значение любого из этих свойств с помощью отдельного вызова свойства .

См. также раздел

Применяется к

.NET 10 (package-provided) и другие версии
Продукт Версии
.NET 6 (package-provided), 7 (package-provided), 8 (package-provided), 9 (package-provided), 10 (package-provided)
.NET Framework 1.1, 2.0, 3.0, 3.5, 4.0, 4.5, 4.5.1, 4.5.2, 4.6, 4.6.1, 4.6.2, 4.7, 4.7.1, 4.7.2, 4.8, 4.8.1
.NET Standard 2.0 (package-provided)

SqlDataAdapter(String, String)

Исходный код:
System.Data.SqlClient.notsupported.cs

Инициализирует новый экземпляр класса SqlDataAdapter с помощью SelectCommand и строки подключения.

C#
public SqlDataAdapter(string selectCommandText, string selectConnectionString);

Параметры

selectCommandText
String

Объект String, содержащий инструкцию Transact-SQL SELECT или хранимую процедуру для использования в свойстве SelectCommand объекта SqlDataAdapter.

selectConnectionString
String

Строка подключения. Если в строке подключения не используется Integrated Security = true, можно использовать SqlDataAdapter(String, SqlConnection) и SqlCredential для передачи идентификатора пользователя и пароля с большей безопасностью, чем при указании идентификатора пользователя и пароля в виде текста в строке подключения.

Примеры

В следующем примере создается SqlDataAdapter и задаются некоторые его свойства.

C#
public static SqlDataAdapter CreateSqlDataAdapter(string commandText,
    string connectionString)
{
    SqlDataAdapter adapter = new SqlDataAdapter(commandText, connectionString);
    SqlConnection connection = adapter.SelectCommand.Connection;

    adapter.MissingSchemaAction = MissingSchemaAction.AddWithKey;

    // Create the commands.
    adapter.InsertCommand = new SqlCommand(
        "INSERT INTO Customers (CustomerID, CompanyName) " +
        "VALUES (@CustomerID, @CompanyName)", connection);

    adapter.UpdateCommand = new SqlCommand(
        "UPDATE Customers SET CustomerID = @CustomerID, CompanyName = @CompanyName " +
        "WHERE CustomerID = @oldCustomerID", connection);

    adapter.DeleteCommand = new SqlCommand(
        "DELETE FROM Customers WHERE CustomerID = @CustomerID", connection);

    // Create the parameters.
    adapter.InsertCommand.Parameters.Add("@CustomerID",
        SqlDbType.Char, 5, "CustomerID");
    adapter.InsertCommand.Parameters.Add("@CompanyName",
        SqlDbType.VarChar, 40, "CompanyName");

    adapter.UpdateCommand.Parameters.Add("@CustomerID",
        SqlDbType.Char, 5, "CustomerID");
    adapter.UpdateCommand.Parameters.Add("@CompanyName",
        SqlDbType.VarChar, 40, "CompanyName");
    adapter.UpdateCommand.Parameters.Add("@oldCustomerID",
        SqlDbType.Char, 5, "CustomerID").SourceVersion = DataRowVersion.Original;

    adapter.DeleteCommand.Parameters.Add("@CustomerID",
        SqlDbType.Char, 5, "CustomerID").SourceVersion = DataRowVersion.Original;

    return adapter;
}

Комментарии

Эта перегрузка конструктора SqlDataAdapterselectCommandText использует параметр для задания SelectCommand свойства . будет SqlDataAdapter создавать и поддерживать соединение, созданное selectConnectionString с помощью параметра .

При создании экземпляра SqlDataAdapter для следующих свойств чтения и записи устанавливаются следующие начальные значения.

Свойства Начальное значение
MissingMappingAction MissingMappingAction.Passthrough
MissingSchemaAction MissingSchemaAction.Add

Значение любого из этих свойств можно изменить с помощью отдельного вызова свойства .

См. также раздел

Применяется к

.NET 10 (package-provided) и другие версии
Продукт Версии
.NET 6 (package-provided), 7 (package-provided), 8 (package-provided), 9 (package-provided), 10 (package-provided)
.NET Framework 1.1, 2.0, 3.0, 3.5, 4.0, 4.5, 4.5.1, 4.5.2, 4.6, 4.6.1, 4.6.2, 4.7, 4.7.1, 4.7.2, 4.8, 4.8.1
.NET Standard 2.0 (package-provided)