kzen.dev
  • Вопросы
  • Метки
  • Пользователи
Оповещения
Вознаграждения
Регистрация
После регистрации, сможете получать уведомления об ответах и комментариях на Ваши вопросы.
Вход
Если у Вас уже есть аккаунт, войдите чтобы проверить новые уведомления.
Тут будут вознаграждения за добавленные вопросы, ответы и комментарий.
Дополнительно
Источник
Редактировать
Brett Bim
Brett Bim
Вопрос

Есть ли разница между SqlConnection.CreateCommand и new SqlCommand?

Есть ли в .Net функциональная разница между созданием нового объекта SqlCommand и присоединением к нему SqlConnection и вызовом CreateCommand() на существующем объекте SqlConnection?

29 2009-08-19T21:59:27+00:00 4
 Gonzalo.-
Gonzalo.-
Редактировал вопрос 23-го апреля 2017 в 3:39
Программирование
c#
ado.net
Решение / Ответ
Andrew Hare
Andrew Hare
19-го августа 2009 в 10:01
2009-08-19T22:01:49+00:00
Дополнительно
Источник
Редактировать
#9389246

Нет, это одно и то же.

Я разобрал SqlConnection.CreateCommand и обнаружил следующее:

public SqlCommand CreateCommand()
{
        return new SqlCommand(null, this);
}

что доказывает, что это действительно одно и то же.

Andrew Hare
Andrew Hare
Редактировал ответ 19-го августа 2009 в 10:07
39
0
Mehrdad Afshari
Mehrdad Afshari
19-го августа 2009 в 10:04
2009-08-19T22:04:27+00:00
Дополнительно
Источник
Редактировать
#9389248

Они выполняют одно и то же действие. Смысл SqlConnection.CreateCommand заключается в реализации паттерна фабрики.

12
0
 JohannesH
JohannesH
19-го августа 2009 в 10:03
2009-08-19T22:03:16+00:00
Дополнительно
Источник
Редактировать
#9389247

Функционально они абсолютно одинаковы.

Однако SqlConnection.CreateCommand() позволяет вам быть более независимым от того, какой тип БД вы используете. Например, вместо передачи экземпляра SqlConnection вы можете передать его как DbConnection, что приведет к созданию DbCommand.

 Gonzalo.-
Gonzalo.-
Редактировал ответ 23-го апреля 2017 в 3:39
8
0
Prof  Von Lemongargle
Prof Von Lemongargle
18-го июня 2018 в 7:29
2018-06-18T19:29:00+00:00
Дополнительно
Источник
Редактировать
#9389249

Это может пойти, не говоря, но просто для полноты, есть одно отличие. Если вы создаете команду sqlcommand, вы можете пройти в запроса в качестве параметра. Если вы позволите метод sqlconnection CreateCommand, нет положения для подачи запроса. Так как вы можете просто установить свойство sqlcommand'ы свойства commandtext свойство, грань довольно тонкая, но она существует.

SqlConnection db = new SqlConnection();
SqlCommand cmd = db.CreateCommand();
cmd.CommandText = "select @@version";

или

SqlConnection db = new SqlConnection();
SqlCommand cmd = new SqlCommand("select @@version", db);
1
0
Похожие сообщества 16
DotNetRuChat
DotNetRuChat
6 630 пользователей
Чат русскоязычного .NET сообщества http://dotnet.ru/ Правила: https://t.me/DotNetRuChat/704399 Вам могут быть интересны: @dotnetchat, @cilchat, @fsharp_chat, @pro_net, @AvaloniaRU, @xamarin_russia, @DotNetRuJobs, @uwp_ru Флуд в @dotnettalks
Открыть telegram
Вакансии .NET
Вакансии .NET
3 530 пользователей
Правила: https://t.me/DotNetRuJobs/123 Канал с вакансиями - https://t.me/DotNetRuJobsFeed Вам могут быть интересны: @dotnetruchat, @cilchat, @fsharp_chat, @pro_net, @AvaloniaRU, @xamarin_russia Флуд в @dotnettalks
Открыть telegram
Microsoft Stack Jobs
Microsoft Stack Jobs
2 414 пользователей
Work & freelance only Microsoft Stack. Feed https://t.me/Microsoftstackjobsfeed Чат про F#: @Fsharp_chat Чат про C#: @CSharpChat Чат про Xamarin: @xamarin_russia Чат общения:@dotnettalks
Открыть telegram
С#
С#
2 330 пользователей
Стараемся не флудить. Пишем по делу. Правила: https://t.me/professorweb/430450 Для флуда @svoboda_obsh
Открыть telegram
pro.net
pro.net
1 820 пользователей
Обсуждение .NET и всего, что с ним связано. Правила: не флудить не по теме, уважать ваших коллег и никакой рекламы (объявления о вакансиях можно согласовать с @AlexFails). https://t.me/pro_net/34653 Флудилка: @dotnettalks
Открыть telegram
CODE BLOG / C#
CODE BLOG / C#
1 763 пользователей
Чат для .NET разработчиков и C# программистов. По всем вопросам: @shwanoff Youtube-канал: https://youtube.com/codeblog Основной канал: @codeblog Вконтакте: https://vk.com/codeblog Правила: https://t.me/codeblog_csharp/246972 Вакансии по тегу #work
Открыть telegram
Добавить вопрос
Категории
Все
Технологий
Культура / Отдых
Жизнь / Искусство
Наука
Профессии
Бизнес
Пользователи
Все
Новые
Популярные
1
Ilya Smirnov
Зарегистрирован 1 день назад
2
Денис Васьков
Зарегистрирован 2 дня назад
3
Dima Patrushev
Зарегистрирован 5 дней назад
4
sirojidddin otaboyev
Зарегистрирован 1 неделю назад
5
Елена Гайдамамакинат
Зарегистрирован 1 неделю назад
KO
RU
© kzen.dev 2023
Источник
stackoverflow.com
под лицензией cc by-sa 3.0 с атрибуцией