Метод SqlCeResultSet.Insert (SqlCeUpdatableRecord)

Вставляет указанную SqlCeUpdatableRecord в базовый набор строк.

Пространство имен:  System.Data.SqlServerCe
Сборка:  System.Data.SqlServerCe (в System.Data.SqlServerCe.dll)

public void Insert(
	SqlCeUpdatableRecord record
)

Параметры

record
Тип: System.Data.SqlServerCe.SqlCeUpdatableRecord
Вставляемая запись.

Вставка записи не приводит к изменению текущей позиции SqlCeResultSet.

При вызове этой функции вставка выполняется немедленно, никакие дополнительные вызовы для завершения операции не нужны.

Если указанная запись содержит больше столбцов, чем определено в базовом наборе строк, то возникает исключение. Если задано меньшее количество значений, то оставшиеся столбцы должны допускать значения NULL или иметь значения по умолчанию.

Если эта функция вызывается для необновляемого объекта SqlCeResultSet или модуль чтения не позиционирован на существующей записи, возникнет исключение InvalidOperationException.

SqlCeConnection conn = null;

try
{
    File.Delete("Test.sdf");

    SqlCeEngine engine = new SqlCeEngine("Data Source = Test.sdf");
    engine.CreateDatabase();

    conn = new SqlCeConnection("Data Source = Test.sdf");
    conn.Open();

    SqlCeCommand cmd = conn.CreateCommand();
    cmd.CommandText = "CREATE TABLE myTable (col1 INT)";
    cmd.ExecuteNonQuery();

    cmd.CommandText = "SELECT * FROM myTable";

    SqlCeResultSet rs = cmd.ExecuteResultSet(ResultSetOptions.Updatable |
        ResultSetOptions.Scrollable);

    SqlCeUpdatableRecord rec = rs.CreateRecord();

    // Insert 10 records
    //
    for (int i = 0; i < 10; i++)
    {
        rec.SetInt32(0, i);
        rs.Insert(rec);
    }

    // Update the 5th record
    //
    if (true == rs.ReadAbsolute(5))
    {
        rs.SetInt32(0, 55);
        rs.Update();
    }

    // Delete the 2nd record
    //
    if (true == rs.ReadAbsolute(2))
    {
        rs.Delete();
    }
}
catch (Exception e)
{
    MessageBox.Show(e.Message);
}
finally
{
    conn.Close();
}


Показ: