私がする必要があるのは、SET IDENTITY_INSERT dbo.myTable ON
ステートメントを用意することです.ac#アプリで上記のステートメントを使用する構文は何ですか?
20733 次
2 に答える
25
これは、他の SQL とまったく同じです。
using (var connection = new SqlConnection("Connection String here"))
{
connection.Open();
var query = "SET IDENTITY_INSERT dbo.MyTable ON; INSERT INTO dbo.MyTable (IdentityColumn) VALUES (@identityColumnValue); SET IDENTITY_INSERT dbo.MyTable OFF;";
using (var command = new SqlCommand(query, connection)
{
command.Parameters.AddWithValue("@identityColumnValue", 3);
command.ExecuteNonQuery();
}
}
于 2010-07-30T15:40:49.600 に答える
3
それがインスタンスの一部であるSqlCommand
場合は、それをテキストに追加するだけです。
using(SqlConnection myConnection = new SqlConnection(connString))
{
SqlCommand cmd = new SqlCommand();
cmd.CommandText = "SET IDENTITY_INSERT dbo.MyTable ON";
cmd.CommandText += //set the rest of your command here.
}
しかし、私はこれの必要性を疑問視しています。コードを使用する頻度でテーブルに ID を挿入する場合は、ストアド プロシージャを使用して挿入することをお勧めします。その後、基本的に同じ方法で呼び出します。
using(SqlConnection myConnectino = new SqlConnection(connString))
{
SqlCommand cmd = new SqlCommand();
cmd.CommandText = "usp_insert_record_into_my_table [ParamList]";
cmd.CommandType = SqlCommandType.StoredProcedure;
}
于 2010-07-30T15:42:59.690 に答える