INSERT ステートメント
新しいレコードを作成するには、INSERT ステートメントを使用します。
INSERT 構文
INSERT ステートメントは、挿入するカラムと新しいカラム値を指定します。複数のカラム値は、次の例に示すように、VALUES 句のカンマ区切りリストで指定できます。
INSERT INTO <table_name>
( <column_reference> [ , ... ] )
VALUES
( { <expression> | NULL } [ , ... ] )
<expression> ::=
| @ <parameter>
| ?
| <literal>
次の例に示すように、ExecuteNonQuery メソッドを使って、データ操作コマンドを実行し影響を受けた行を取得できます。
C#
String connectionString = "SubscriptionKey=test;CountryVersion=2021.R2.AU;CompanyFile=Q:/CData Software.QBW;User=test;Password=test;InitiateOAuth=GETANDREFRESH;CallbackURL=http://localhost:33333;OAuthClientId=MyOAuthClientID;OAuthClientSecret=MyOAuthClientSecret;"; using (ReckonAccountsHostedConnection connection = new ReckonAccountsHostedConnection(connectionString)) { int rowsAffected; ReckonAccountsHostedCommand cmd = new ReckonAccountsHostedCommand("INSERT INTO Customers (Name) VALUES ('Hook, Captain')", connection); rowsAffected = cmd.ExecuteNonQuery(); }
VB.NET
Dim connectionString As [String] = "SubscriptionKey=test;CountryVersion=2021.R2.AU;CompanyFile=Q:/CData Software.QBW;User=test;Password=test;InitiateOAuth=GETANDREFRESH;CallbackURL=http://localhost:33333;OAuthClientId=MyOAuthClientID;OAuthClientSecret=MyOAuthClientSecret;" Using connection As New ReckonAccountsHostedConnection(connectionString) Dim rowsAffected As Integer Dim cmd As New ReckonAccountsHostedCommand("INSERT INTO Customers (Name) VALUES ('Hook, Captain')", connection) rowsAffected = cmd.ExecuteNonQuery() End Using
生成されたId の取得
最後に挿入されたレコードのId を取得するには、次の例に示すように、SCOPE_IDENTITY 関数を使用します。C#
cmd = connection.CreateCommand(); cmd.CommandText = "SELECT SCOPE_IDENTITY()"; Object returnedValues = cmd.ExecuteScalar(); String Id = (String)returnedValues;
VB.NET
cmd = connection.CreateCommand() cmd.CommandText = "SELECT SCOPE_IDENTITY()" Dim returnedValues As [Object] = cmd.ExecuteScalar() Dim Id As [String] = returnedValues