powered by simpleCommunicator - 2.0.53     © 2025 Programmizd 02
Форумы / WinForms, .Net Framework [игнор отключен] [закрыт для гостей] / Проблема со вставкой строки в таблице через SqlCommand
25 сообщений из 40, страница 1 из 2
Проблема со вставкой строки в таблице через SqlCommand
    #39085419
vso
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
vso
Гость
Добрый день!

есть такой код, где я хочу вставить строку в таблицу

Код: c#
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
34.
private void barButtonItem1_ItemClick(object sender, DevExpress.XtraBars.ItemClickEventArgs e)
        {
            fmNew c = new fmNew(this);
            if (c.ShowDialog() == DialogResult.OK)
            {
                SqlCommand cmd = new SqlCommand();
                cmd.CommandType = System.Data.CommandType.Text;
                cmd.CommandText = @"INSERT dbo.Volume (NUMBER, CUSTOMER, TITLE, REF_BUILDING, REF_TYP)
                                    SELECT @NUMBER, @CUSTOMER, @TITLE, b.ID_BUILDING, @REF_TYP
                                        FROM Building b WHERE b.KKS = @BUILDING";
                cmd.Connection = new SqlConnection(Properties.Settings.Default.dbMainConnection);
                cmd.Parameters.AddWithValue("@ID_VOLUME", DBNull.Value).SqlDbType = SqlDbType.Int;
                cmd.Parameters.AddWithValue("@NUMBER", c.TENumber.Text).SqlDbType = SqlDbType.NVarChar;
                cmd.Parameters.AddWithValue("@CUSTOMER", c.TEProject.Text).SqlDbType = SqlDbType.NVarChar;
                cmd.Parameters.AddWithValue("@TITLE", c.MENamePackage.Text).SqlDbType = SqlDbType.NVarChar;
                cmd.Parameters.AddWithValue("@REF_TYP", c.CBTypeDocument.EditValue).SqlDbType = SqlDbType.Int;
                cmd.Parameters.AddWithValue("@BUILDING", ExtractBuilding(c.TENumber.Text)).SqlDbType = SqlDbType.NVarChar;
                cmd.Parameters["@NUMBER"].Size = 37;
                cmd.Parameters["@CUSTOMER"].Size = 255;
                cmd.Parameters["@TITLE"].Size = 4000;
                cmd.Parameters["@BUILDING"].Size = 5;

                try 
	            {	        
	                cmd.Connection.Open();
                        cmd.Prepare();
                        cmd.ExecuteNonQuery();
	            }
	            catch (Exception ex)
	            {
		            MessageBox.Show(ex.Message);
	            }
            }
        }



но это не удается.
Может кто подскажет в чем ошибка?

Код работает, но в таблице на сервере ничего не появляется.
...
Рейтинг: 0 / 0
Проблема со вставкой строки в таблице через SqlCommand
    #39085424
kmaw
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
вот он, баттон_клик. еще и с девекспресс.
...
Рейтинг: 0 / 0
Проблема со вставкой строки в таблице через SqlCommand
    #39085428
Фотография Изопропил
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
вангую - WHERE b.KKS = @BUILDING
никуя не возврвщает записей
...
Рейтинг: 0 / 0
Проблема со вставкой строки в таблице через SqlCommand
    #39085429
vso
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
vso
Гость
в чем стеб?
...
Рейтинг: 0 / 0
Проблема со вставкой строки в таблице через SqlCommand
    #39085430
Фотография Изопропил
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
vsoв чем стеб?
в том что селект ничего не возвращает(нет записей по критерию) - соответственно - ничего не добавляется и ошибок нет
...
Рейтинг: 0 / 0
Проблема со вставкой строки в таблице через SqlCommand
    #39085432
vso
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
vso
Гость
Изопропилвангую - WHERE b.KKS = @BUILDING
никуя не возврвщает записей

Огромное спасибо!!!!

дело в этом, поправил все заработало...
...
Рейтинг: 0 / 0
Проблема со вставкой строки в таблице через SqlCommand
    #39085434
vso
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
vso
Гость
Изопропилvsoв чем стеб?
в том что селект ничего не возвращает(нет записей по критерию) - соответственно - ничего не добавляется и ошибок нет

это я писал к первому посту...
...
Рейтинг: 0 / 0
Проблема со вставкой строки в таблице через SqlCommand
    #39085467
Pallaris
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
vso,

товарищ kmaw намекает, что писать сложную логику в обработчиках UI - это дурной тон программирования
...
Рейтинг: 0 / 0
Проблема со вставкой строки в таблице через SqlCommand
    #39085473
Фотография Cat2
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Модератор форума
Pallarisvso,

товарищ kmaw намекает, что писать сложную логику в обработчиках UI - это дурной тон программирования
Да чего тут сложного?
Объемное - да. Класс для каждого запроса городить?
...
Рейтинг: 0 / 0
Проблема со вставкой строки в таблице через SqlCommand
    #39085479
Pallaris
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Cat2Да чего тут сложного?


Полотно

Класс для каждого запроса городить?

Хотя бы вывести в отдельный метод с вменяемым названием.
...
Рейтинг: 0 / 0
Проблема со вставкой строки в таблице через SqlCommand
    #39085481
Фотография skyANA
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Cat2Класс для каждого запроса городить?Почему нет? CQRS :)
...
Рейтинг: 0 / 0
Проблема со вставкой строки в таблице через SqlCommand
    #39085602
Фотография hVostt
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
skyANACat2Класс для каждого запроса городить?Почему нет? CQRS :)

Ужас какой-то. Видал попытки запилить подобный подход (прям как вэтом описании), по отзывам, выла вся команда, пока инициатора не пнули под зад.
...
Рейтинг: 0 / 0
Проблема со вставкой строки в таблице через SqlCommand
    #39085628
Фотография skyANA
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
hVosttskyANAпропущено...
Почему нет? CQRS :)

Ужас какой-то. Видал попытки запилить подобный подход (прям как вэтом описании), по отзывам, выла вся команда, пока инициатора не пнули под зад.Ну запили иначе, чтобы команда не выла :)

Кто-то воет и от вынесения работы с БД из обработчиков нажатия кнопки, и что?
...
Рейтинг: 0 / 0
Проблема со вставкой строки в таблице через SqlCommand
    #39085641
Фотография hVostt
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
skyANAНу запили иначе, чтобы команда не выла :)

Да нафиг не нужна такая реализация (Mutator — это ж полный писец!)

По факту пользы от CQRS не вижу. Для событий достаточно реализации централизованной Event Bus — и понятно, и прозрачно, и тестируется на раз.


skyANAКто-то воет и от вынесения работы с БД из обработчиков нажатия кнопки, и что?

Не видел ни разу такого, давай не придумывай!
...
Рейтинг: 0 / 0
Проблема со вставкой строки в таблице через SqlCommand
    #39085664
Фотография skyANA
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
hVostt, ты не видишь пользы, а другие видят.
...
Рейтинг: 0 / 0
Проблема со вставкой строки в таблице через SqlCommand
    #39085673
Фотография hVostt
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
skyANAhVostt, ты не видишь пользы, а другие видят.

ну ты б хоть нормальную ссыль бы привёл, например:

http://blog.byndyu.ru/2014/07/command-and-query-responsibility.html

а не ересь с хабров
...
Рейтинг: 0 / 0
Проблема со вставкой строки в таблице через SqlCommand
    #39085675
vso
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
vso
Гость
Ухх, горячо идет....

Раз для меня является новостью, что в C# запихивать насыщенный код в обработчики событий, подскажите это что просто делаешь кучу статических классов на каждый чих и риск запутаться в них? или надо стараться как то обобщенные методы?
...
Рейтинг: 0 / 0
Проблема со вставкой строки в таблице через SqlCommand
    #39085686
Фотография hVostt
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
vsoУхх, горячо идет....

Раз для меня является новостью, что в C# запихивать насыщенный код в обработчики событий, подскажите это что просто делаешь кучу статических классов на каждый чих и риск запутаться в них? или надо стараться как то обобщенные методы?

я бы сказал так: старайся сводить количество интерфейсов и классов к минимуму. не надо делать какой-то слой только для того, чтобы его сделать, потому что так сказал какой-то Вася Фаулер. надо чётко понимать, какую цель ты при этом преследуешь, какую архитектурную задачу решаешь и какой профит на выходе. и не какой-то там отдалённый в будущем, типа:

а заверну-ка я вот этот кусок кода в класс и буду отдавать через интерфейс, с помощью фабрики, которую можно будет получить через интерфейс фабрики, которую можно будет получить через провайдер, который можно будет получить через интерфейс провайдера, который можно будет получить через менеджер провайдеров, который можно будет получить через интерфейс менеджера провайдеров, который будет инстанцироваться через глобальную DI фабрику, который будет задаваться через модуль, который будет подключаться через интерфейс модуля, который будет заколочен в какой-нибудь MEF и т.д... ))
...
Рейтинг: 0 / 0
Проблема со вставкой строки в таблице через SqlCommand
    #39085688
Pallaris
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
vsoнадо стараться как то обобщенные методы?

да, надо стараться
...
Рейтинг: 0 / 0
Проблема со вставкой строки в таблице через SqlCommand
    #39085758
Фотография skyANA
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
hVosttskyANAhVostt, ты не видишь пользы, а другие видят.

ну ты б хоть нормальную ссыль бы привёл, например:

http://blog.byndyu.ru/2014/07/command-and-query-responsibility.html

а не ересь с хабров Кому интересно изучить принцип CQRS, тот сам найдёт.
...
Рейтинг: 0 / 0
Проблема со вставкой строки в таблице через SqlCommand
    #39085760
Фотография skyANA
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
vsoУхх, горячо идет....

Раз для меня является новостью, что в C# запихивать насыщенный код в обработчики событий, подскажите это что просто делаешь кучу статических классов на каждый чих и риск запутаться в них? или надо стараться как то обобщенные методы?Что такое в вашей системе чих? Почему именно статические классы? Почему в них обязательно надо путаться?

Классы - это отражение предметной области и бизнес-процессов. Вы когда приходите на предприятие, разве путаетесь в том, кто какую роль там выполняет и как?
...
Рейтинг: 0 / 0
Проблема со вставкой строки в таблице через SqlCommand
    #39085761
Фотография skyANA
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
vso, в Вашем случае надо разделить ответсвенности.

Классы интерфейса (формы, компоненты, элементы управления) отвечают за отображение данных и обработку действий пользователя.
Вводимая пользователем информация передаётся объекту того класса, что инкапсулирует в себе логику её обработки и сохранения где-то.
В Вашем случае в базе данных.
...
Рейтинг: 0 / 0
Проблема со вставкой строки в таблице через SqlCommand
    #39086224
vso
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
vso
Гость
skyANAПочему именно статические классы?

чтобы при каждой записи не создавать объект
...
Рейтинг: 0 / 0
Проблема со вставкой строки в таблице через SqlCommand
    #39086227
vso
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
vso
Гость
skyANAВводимая пользователем информация передаётся объекту того класса, что инкапсулирует в себе логику её обработки и сохранения где-то. В Вашем случае в базе данных.

т.е. создаешь один класс на все программу (на все случаи сохранения данных) и через него сохранять все данные? примерно такой план?
...
Рейтинг: 0 / 0
Проблема со вставкой строки в таблице через SqlCommand
    #39086232
Фотография skyANA
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
vsoskyANAПочему именно статические классы?

чтобы при каждой записи не создавать объектПолагаю, что паттерн Singleton Вам не знаком, так?
...
Рейтинг: 0 / 0
25 сообщений из 40, страница 1 из 2
Форумы / WinForms, .Net Framework [игнор отключен] [закрыт для гостей] / Проблема со вставкой строки в таблице через SqlCommand
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]