ADO.NET Provider for Microsoft Dynamics 365 Business Central

Build 24.0.9062

INSERT ステートメント

新しいレコードを作成するには、INSERT ステートメントを使用します。

INSERT 構文

INSERT ステートメントは、挿入するカラムと新しいカラム値を指定します。複数のカラム値は、次の例に示すように、VALUES 句のカンマ区切りリストで指定できます。

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

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

次の例に示すように、ExecuteNonQuery メソッドを使って、データ操作コマンドを実行し影響を受けた行を取得できます。

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

生成されたId の取得

最後に挿入されたレコードのAccountId を取得するには、次の例に示すように、SCOPE_IDENTITY 関数を使用します。

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 

Copyright (c) 2024 CData Software, Inc. - All rights reserved.
Build 24.0.9062