InsertCommand
Свойство предоставляет или устанавливает текст команды (SQL-запроса), используемой для добавления записей в источник данных.
При использовании метода Update
в случае, когда это свойство не задано, и данные первичного ключа имеются в объекте DataSet
, свойство InsertCommand будет создаваться автоматически, если объект DbDataAdapter
связан с объектом DbCommandBuilder
.
Декларация
BrowsableAttribute(false)] public DbCommand InsertCommand {get; set;};
Значение свойства
Интерфейс IDbCommand, используемый во время применения метода Update
для вставки записей, соответствующих новым строкам в наборе данных, в источник данных.
Исключения
Отсутствуют.
Пример
// C# using System; using System.Data; using System.Data.Common; class InsertCommandSample { static void Main() { // Создание фабрики классов провайдера DbProviderFactory factory = DbProviderFactories.GetFactory("System.Data.LinterClient"); // Соединение с БД DbConnection con = factory.CreateConnection(); con.ConnectionString = "Data Source=LOCAL;User ID=SYSTEM;Password=MANAGER8"; con.Open(); // Создание таблицы БД DbCommand cmd = factory.CreateCommand(); cmd.Connection = con; cmd.CommandText = "create or replace table users ( " + "id integer primary key, name varchar(70))"; cmd.ExecuteNonQuery(); // Создание команды для выборки записей DbCommand selectCommand = factory.CreateCommand(); selectCommand.Connection = con; selectCommand.CommandText = "select id, name from users"; // Создание параметров для добавления записей DbParameter parId = factory.CreateParameter(); parId.ParameterName = ":id"; parId.SourceColumn = "id"; parId.Direction = ParameterDirection.Input; parId.DbType = DbType.Int32; DbParameter parName = factory.CreateParameter(); parName.ParameterName = ":name"; parName.SourceColumn = "name"; parName.Direction = ParameterDirection.Input; parName.DbType = DbType.String; parName.Size = 70; // Создание команды для добавления записи DbCommand insertCommand = factory.CreateCommand(); insertCommand.Connection = con; insertCommand.CommandText = "insert into users (id,name) values (:id,:name)"; insertCommand.Parameters.Add(parId); insertCommand.Parameters.Add(parName); // Создание объекта DbDataAdapter DbDataAdapter adapter = factory.CreateDataAdapter(); adapter.SelectCommand = selectCommand; adapter.InsertCommand = insertCommand; // Заполнение объекта DataTable данными из таблицы БД DataTable users = new DataTable(); adapter.Fill(users); // Добавление записей в таблицу DataTable users.Rows.Add(0, "Пользователь A"); users.Rows.Add(1, "Пользователь B"); // Обновление БД adapter.Update(users); // Отображение таблицы после обновления Console.WriteLine("Строки таблицы после обновления:"); foreach (DataRow row in users.Rows) { Console.WriteLine("{0}: '{1}' ", row[0], row[1]); } // Освобождение ресурсов con.Close(); } }