ADO.NET Provider for Excel

Build 20.0.7655

INSERT Statements

To create new records, use INSERT statements.


The INSERT statement specifies the columns to be inserted and the new column values. You can specify the column values in a comma-separated list in the VALUES clause, as shown in the following example:

INSERT INTO <table_name> 
( <column_reference> [ , ... ] )
( { <expression> | NULL } [ , ... ] ) 

<expression> ::=
  | @ <parameter> 
  | ?
  | <literal>

You can use the ExecuteNonQuery method to execute data manipulation commands and retrieve the rows affected, as shown in the following example:


String connectionString = "Excel File=C:\MyExcelWorkbooks\SampleWorkbook.xlsx;";
using (ExcelConnection connection = new ExcelConnection(connectionString)) {
  int rowsAffected;
  ExcelCommand cmd = new ExcelCommand("INSERT INTO Sheet (LastName) VALUES ('White')", connection);
  rowsAffected = cmd.ExecuteNonQuery();


Dim connectionString As [String] = "Excel File=C:\MyExcelWorkbooks\SampleWorkbook.xlsx;"
Using connection As New ExcelConnection(connectionString)
  Dim rowsAffected As Integer
  Dim cmd As New ExcelCommand("INSERT INTO Sheet (LastName) VALUES ('White')", connection)
  rowsAffected = cmd.ExecuteNonQuery()
End Using

Retrieving Generated Ids

In order to retrieve the RowId of the last inserted record, use the SCOPE_IDENTITY function, as shown in the following example:


cmd = connection.CreateCommand();
cmd.CommandText = "SELECT SCOPE_IDENTITY()";
Object returnedValues = cmd.ExecuteScalar();
String RowId = (String)returnedValues;


cmd = connection.CreateCommand()
cmd.CommandText = "SELECT SCOPE_IDENTITY()"
Dim returnedValues As [Object] = cmd.ExecuteScalar()
Dim RowId As [String] = returnedValues 

Copyright (c) 2020 CData Software, Inc. - All rights reserved.
Build 20.0.7655