Co muszę zrobić, to mieć oświadczenie SET IDENTITY_INSERT dbo.myTable ON
, jaka jest składnia korzystania z powyższej instrukcji w aplikacji C#?Jak ustawić SET IDENTITY_INSERT dbo.myTable instrukcja ON
Odpowiedz
To tak samo jak każdy inny kawałek 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();
}
}
brak prawego nawiasu na końcu "przy użyciu" linii –
dobrze, jeśli to część instancji SqlCommand
, wystarczy dodać go do tekstu:
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.
}
kwestionuję Konieczność tego jednak. Jeśli wstawiasz tożsamość do tabeli z wystarczającą częstotliwością, z której korzystasz z kodu, poleciłbym procedurę przechowywaną do wykonania wstawki. Można by wtedy nazwać w zasadzie w ten sam sposób:
using(SqlConnection myConnectino = new SqlConnection(connString))
{
SqlCommand cmd = new SqlCommand();
cmd.CommandText = "usp_insert_record_into_my_table [ParamList]";
cmd.CommandType = SqlCommandType.StoredProcedure;
}
Aaaaargh, procedury przechowywane z "usp_" z prefiksem, moje oczy, moje oczy, to burrrrrrns! ;) – Rob
@Rob - tak, wiem, stara konwencja. Bardzo mi się podoba, bo łatwiej znaleźć w studio zarządzania (dla mnie). Nie służy żadnemu innemu celowi. Jeśli naprawdę chcesz, myślę, że mogę to zmienić. Tylko dla Ciebie. : P – AllenG
Meh - o ile nie jest to "sp_", zobacz: http://blogs.lessthandot.com/index.php/DataMgmt/DBProgramming/MSSQLServer/don-t-start-your-procedures-with-sp_ –
- 1. Jaki jest zakres SET IDENTITY_INSERT xyz ON?
- 2. Nie można ustawić IDENTITY_INSERT w partii
- 3. Jak radzić sobie z SET ANSI_NULLS ON lub OFF?
- 4. Hibernate 3.5 vs 4 IDENTITY_INSERT issues
- 5. Azure: PowerShell: Set-AzureRmWebApp: Jak ustawić "AlwaysOn" własność
- 6. Entity Framework Code First Migracje: Set Primary Key Value
- 7. Set _NO_DEBUG_HEAP
- 8. Ustaw IDENTITY_INSERT OFF dla wszystkich tabel
- 9. Które polecenie zastąpiłoby IDENTITY INSERT ON/OFF z SQLServer w Oracle?
- 10. Jak iterować std :: set?
- 11. Jak działa instrukcja `test`?
- 12. Jak działa instrukcja switch?
- 13. Jak ustawić DEFAULT ON UPDATE CURRENT_TIMESTAMP w mysql z sqlalchemy?
- 14. Ruby on Rails + Devise + I18n: jak ustawić ustawienia regionalne?
- 15. Zagnieżdżona instrukcja if else
- 16. Set innerText z HtmlAgilityPack
- 17. Dlaczego Set-Acl na dysku głównym próbuje ustawić własność "obiektu"?
- 18. java swing JTextField set PlaceHolder
- 19. Set Window.Owner użyciu hWnd
- 20. LambdaJ forEach set
- 21. Jak wyświetlić log set/get/in?
- 22. Keytool set nazwa_hosta
- 23. Instrukcja Laravel 4 Utwórz wyzwalacz
- 24. Set Uprawnienia Pozycja
- 25. Set Autoryzacja Nagłówek HttpClient
- 26. jak porównać dwa std :: set?
- 27. Set $ .prop() bez wywoływania zmian
- 28. NLTK: set proxy server
- 29. Jak działa instrukcja montażu MOVSX?
- 30. Datepicker set default date
Do kogo ta oznaczona jako „nie jest prawdziwa pytanie” - Proszę przeczytać [SET IDENTITY_INSERT] (http://msdn.microsoft.com/en-us /library/ms188059.aspx). –
Kucyki @OMG - Zastanawiam się, dlaczego ktoś "nie był prawdziwym pytaniem", także: -/ – Rob