INSERT Statements
To create new records, use INSERT statements.
INSERT Syntax
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> [ , ... ] )
VALUES
( { <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:
C#
String connectionString = "InitiateOAuth=GETANDREFRESH;OrganizationUrl=https://api.businesscentral.dynamics.com/v1.0/api/v1.0"; using (D365BusinessCentralConnection connection = new D365BusinessCentralConnection(connectionString)) { int rowsAffected; D365BusinessCentralCommand cmd = new D365BusinessCentralCommand("INSERT INTO Accounts (Name) VALUES ('John')", connection); rowsAffected = cmd.ExecuteNonQuery(); }
VB.NET
Dim connectionString As [String] = "InitiateOAuth=GETANDREFRESH;OrganizationUrl=https://api.businesscentral.dynamics.com/v1.0/api/v1.0" Using connection As New D365BusinessCentralConnection(connectionString) Dim rowsAffected As Integer Dim cmd As New D365BusinessCentralCommand("INSERT INTO Accounts (Name) VALUES ('John')", connection) rowsAffected = cmd.ExecuteNonQuery() End Using
Retrieving Generated Ids
In order to retrieve the AccountId of the last inserted record, use the SCOPE_IDENTITY function, as shown in the following example:C#
cmd = connection.CreateCommand(); cmd.CommandText = "SELECT SCOPE_IDENTITY()"; Object returnedValues = cmd.ExecuteScalar(); String AccountId = (String)returnedValues;
VB.NET
cmd = connection.CreateCommand() cmd.CommandText = "SELECT SCOPE_IDENTITY()" Dim returnedValues As [Object] = cmd.ExecuteScalar() Dim AccountId As [String] = returnedValues