データ ソースに新しいレコードを挿入する SQL ステートメントを取得または設定します。
Property InsertCommand As IDbCommand
[C#]
IDbCommand InsertCommand {get; set;}
[C++]
__property IDbCommand* get_InsertCommand();__property void set_InsertCommand(IDbCommand*);
[JScript]
function get InsertCommand() : IDbCommand;function set InsertCommand(IDbCommand);
プロパティ値
データ セット内の新しい行に対応するデータ ソース内のレコードを挿入するために、 Update 中に使用する IDbCommand 。
解説
Update 中、このプロパティが設定されておらず、主キー情報が DataSet 内に存在する場合は、.NET Framework データ プロバイダの SelectCommand プロパティを設定すると、 InsertCommand が自動的に生成されます。次に、設定しなかった追加のコマンドが、CommandBuilder によって生成されます。この生成ロジックでは、 DataSet 内にキー列情報が存在している必要があります。詳細については、「 自動生成コマンド 」を参照してください。
既に作成されている IDbCommand に InsertCommand を割り当てた場合、 IDbCommand のクローンは作成されません。 InsertCommand は、既に作成されている IDbCommand オブジェクトへの参照を保持します。
メモ このコマンドの実行によって行が返された場合、 IDbCommand オブジェクトの UpdatedRowSource プロパティの設定方法によっては、これらの行が DataSet に追加されることがあります。
使用例
[Visual Basic, C#, C++] 継承した OleDbDataAdapter クラスのインスタンスを作成し、 SelectCommand プロパティと InsertCommand プロパティを設定する例を次に示します。ここでは、 OleDbConnection オブジェクトが既に作成されていることを前提にしています。
Public Shared Function CreateCustomerAdapter(conn As OleDbConnection) As OleDbDataAdapter
Dim da As OleDbDataAdapter = New OleDbDataAdapter()
Dim cmd As OleDbCommand
' Create the SelectCommand.
cmd = New OleDbCommand("SELECT * FROM Customers " & _
"WHERE Country = @Country AND City = @City", conn)
cmd.Parameters.Add("@Country", OleDbType.VarChar, 15)
cmd.Parameters.Add("@City", OleDbType.VarChar, 15)
da.SelectCommand = cmd
' Create the InsertCommand.
cmd = New OleDbCommand("INSERT INTO Customers (CustomerID, CompanyName) " & _
"VALUES (@CustomerID, @CompanyName)", conn)
cmd.Parameters.Add("@CustomerID", OleDbType.Char, 5, "CustomerID")
cmd.Parameters.Add("@CompanyName", OleDbType.VarChar, 40, "CompanyName")
da.InsertCommand = cmd
Return da
End Function
[C#]
public static OleDbDataAdapter CreateCustomerAdapter(OleDbConnection conn)
{
OleDbDataAdapter da = new OleDbDataAdapter();
OleDbCommand cmd;
// Create the SelectCommand.
cmd = new OleDbCommand("SELECT * FROM Customers " +
"WHERE Country = @Country AND City = @City", conn);
cmd.Parameters.Add("@Country", OleDbType.VarChar, 15);
cmd.Parameters.Add("@City", OleDbType.VarChar, 15);
da.SelectCommand = cmd;
// Create the InsertCommand.
cmd = new OleDbCommand("INSERT INTO Customers (CustomerID, CompanyName) " +
"VALUES (@CustomerID, @CompanyName)", conn);
cmd.Parameters.Add("@CustomerID", OleDbType.Char, 5, "CustomerID");
cmd.Parameters.Add("@CompanyName", OleDbType.VarChar, 40, "CompanyName");
da.InsertCommand = cmd;
return da;
}
[C++]
public:
static OleDbDataAdapter* CreateCustomerAdapter(OleDbConnection* conn)
{
OleDbDataAdapter* da = new OleDbDataAdapter();
OleDbCommand* cmd;
// Create the SelectCommand.
cmd = new OleDbCommand(S"SELECT * FROM Customers "
S"WHERE Country = @Country AND City = @City", conn);
cmd->Parameters->Add(S"@Country", OleDbType::VarChar, 15);
cmd->Parameters->Add(S"@City", OleDbType::VarChar, 15);
da->SelectCommand = cmd;
// Create the InsertCommand.
cmd = new OleDbCommand(S"INSERT INTO Customers (CustomerID, CompanyName) "
S"VALUES (@CustomerID, @CompanyName)", conn);
cmd->Parameters->Add(S"@CustomerID", OleDbType::Char, 5, S"CustomerID");
cmd->Parameters->Add(S"@CompanyName", OleDbType::VarChar, 40, S"CompanyName");
da->InsertCommand = cmd;
return da;
}
[JScript] JScript のサンプルはありません。Visual Basic、C#、および C++ のサンプルを表示するには、このページの左上隅にある言語のフィルタ ボタン をクリックします。
必要条件
プラットフォーム: Windows 98, Windows NT 4.0, Windows Millennium Edition, Windows 2000, Windows XP Home Edition, Windows XP Professional, Windows Server 2003 ファミリ, .NET Compact Framework - Windows CE .NET
参照
IDbDataAdapter インターフェイス | IDbDataAdapter メンバ | System.Data 名前空間