|
0 / 0 / 0
Регистрация: 07.06.2013
Сообщений: 21
|
|||||||||||
Ругается на "cmd.ExecuteNonQuery();"09.06.2013, 15:30. Показов 4428. Ответов 35
Метки нет (Все метки)
Здравствуйте!
Прошу помощь, так как сам уже просто отчаялся! есть хранимая процедура:
А так же есть кнопка button1 Так вот как правильно реализовать по нажатию кнопки передачу параметров в хранимую процедуру (@tk nvarchar(50), @treck nvarchar(50)) где значение tk нужно взять из textBox2, а значения treck из dataGirdView1 Пример моего кода (тут при выполнении ругается на "cmd.ExecuteNonQuery();" :
Спасибо!
0
|
|||||||||||
| 09.06.2013, 15:30 | |
|
Ответы с готовыми решениями:
35
При попытке записать в новую строку из textbox ругается на inscmd.ExecuteNonQuery
|
|
0 / 0 / 0
Регистрация: 07.06.2013
Сообщений: 21
|
||
| 16.06.2013, 20:46 [ТС] | ||
|
Имеется форма. На ней есть: 1)dataGirdView (если есть, аналогичные варианты, более подходящие для решения задачи, то буду счастлив узнать о них) в ней есть два столбца: tk и treck 2) и есть кнопка button1 Как сделать так, что бы при нажатии на кнопку button1, из базы данных "Пекин", вызывалась бы хранимая процедура "Prib" с входными параметрами @tk, @treck, и в эти параметры передать значения из каждой строки столбцов tk и treck таблицы dataGirdView. Если есть вариант, что бы в таблицу записывались значения не всем массивом в одну запись, а, как бы по строчке т.е : tk(значение первой ячейки) treck(значение первой ячейки) и так далее вторая строка, третья...как то так... Если, не понятно объяснил, не могли бы Вы дать свой скайп?)
0
|
||
|
644 / 198 / 5
Регистрация: 24.07.2010
Сообщений: 1,315
|
|
| 17.06.2013, 09:02 | |
|
Вроде понял, а в таблице как появляются данные строчки? может просто сделать, так, чтобы в базу добавлялась новая запись когда в табличку что-то добавляют?)
1
|
|
|
0 / 0 / 0
Регистрация: 07.06.2013
Сообщений: 21
|
||
| 17.06.2013, 15:40 [ТС] | ||
|
В базу добавлялась новая запись? хмм....можно и так, но просто мне дальше надо будет реализовать поиск по этим записям, и там где запись со стороны клиентской таблицы, равна записи складской таблицы нужно вытащить будет все данные о клиенте по этим записям и вставить складскую таблицу...((( Может действительно Ваш вариант проще и я сам себе и Вам усложняю жизнь? давайте попробуем....
0
|
||
|
644 / 198 / 5
Регистрация: 24.07.2010
Сообщений: 1,315
|
|
| 17.06.2013, 15:56 | |
|
я про другое немножко спрашивал, откуда берутся эти 5 строчек в datagird view? вы их вручную вбиваете? =) Если да, то лучше сделать механизм таким, что когда вбили новую строчку, то она добавляется в базу данных, и получается, что вы не сначала добавите на клиенте 5 строчек, а потом они в базу добавятся, а при добавлении новой строчки сразу будет и в базу заноситься, поиск и прочее это уже отдельный вопрос, но это тоже вполне реализуемо =)
1
|
|
|
0 / 0 / 0
Регистрация: 07.06.2013
Сообщений: 21
|
||
| 17.06.2013, 18:16 [ТС] | ||
|
0
|
||
|
644 / 198 / 5
Регистрация: 24.07.2010
Сообщений: 1,315
|
|
| 17.06.2013, 19:36 | |
|
А у вас реально будет так?) вообще 10 человек посути это мало =) у нас на работе куда больше работают, вроде ничего, проблем не было, причем там явно никто почти оптимизацией не занимается =)
1
|
|
|
0 / 0 / 0
Регистрация: 07.06.2013
Сообщений: 21
|
||
| 17.06.2013, 19:40 [ТС] | ||
|
А где работаете, если не секрет?) Тогда может просто через адаптер, нажатием кнопки?
0
|
||
|
644 / 198 / 5
Регистрация: 24.07.2010
Сообщений: 1,315
|
|
| 17.06.2013, 20:05 | |
|
Да так в одной фирмейке =) Да нет, я предлагаю так же через хранимки, только добавление будет происходить когда вы будете добавлять новую строку на клиенте, отлавливаем там событие какое-нибудь и по нему вызываем нашу хранимку, конечно тогда минус в том, что много запросов, но если они не тяжелые, то выполняться будут быстро, тогда количество не мешает, из плюсов то, что мы как бы для каждой записи сразу будем проверять корректные ли данные, а если их добавлять все сразу, то там пользователь будет мучиться пока не исправит все ошибки , с адаптером для заполнения честно не работал ) использовал его пару раз для селекта, чтобы результирующие данные в DataTable запихнуть =) Обычно пользуюсь Linq to sql или через Command выполняю =)
Добавлено через 29 секунд Если не совсем понятно могу по шагам описать порядок действий =) Добавлено через 2 минуты Ну и кстати если у вас мультиюзерская прога, то надо будет как-то отслеживать, чтобы одну и ту же запись не пытались редактировать несколько юзеров, так же избегайте статических переменных, из-за них могут быть галюны, которые потом тяжело будет отследить)
1
|
|
|
0 / 0 / 0
Регистрация: 07.06.2013
Сообщений: 21
|
|||
| 17.06.2013, 20:12 [ТС] | |||
|
Отличная идея!! Спасибо Вам! Можно ловить события нажатия Enter из текстбокса из которого будет добавляться записи в datagirdview....Если Вам не сложно, пожалуйста, Вы не могли бы чиркануть пример кода какой-нибудь... а то я опять тупить полгода буду) "пытались редактировать несколько юзеров, так же избегайте статических переменных, из-за них могут быть галюны, которые потом тяжело будет отследить)" Вот тут только непонятно...как этого можно избежать?)) Добавлено через 2 минуты Сам догадался!)
0
|
|||
|
644 / 198 / 5
Регистрация: 24.07.2010
Сообщений: 1,315
|
|
| 17.06.2013, 20:42 | |
|
Сейчас студии под рукой нет, вы если что сюда отправляйте код, подредактирую или подскажу =) На счет статических переменных - их не использовать просто, потому что может возникнуть такая ситуация - зашел юзер 1, что-то поделал, у вас в статическую переменную А занеслось значение, потом зашел юзер 2 на ту же форму, а у него уже в этой переменной лежит то значение, которое занес юзер 1, конечно в некоторых случаях и можно их использовать, но будьте аккуратней =)
Добавлено через 6 минут Вообще можете посмотреть, скорей всего у этого грида есть событие на подобие OnRowInserted или что-то такое, это будет лучше, чем по нажатии enter пытаться это сделать =)
1
|
|
|
0 / 0 / 0
Регистрация: 07.06.2013
Сообщений: 21
|
||
| 17.06.2013, 20:44 [ТС] | ||
|
а может Вы заодно подскажите, как лучше реализовать кнопку отмена, что бы отменить только что добавленные строки... Как мне Вас благодарить?
0
|
||
|
644 / 198 / 5
Регистрация: 24.07.2010
Сообщений: 1,315
|
|
| 17.06.2013, 20:55 | |
|
Да никак, кому-то я помогу, кто-то мне поможет =)
А можно скриншотик интерфейса(интересует как вы добавляете строки в грид) я бы тогда смог более подробно объяснить, по нажатии на отмену мы просто не должны делать запрос на добавление записи, все просто =) Отвечу завтра с утра, уже ухожу =)
1
|
|
|
0 / 0 / 0
Регистрация: 07.06.2013
Сообщений: 21
|
|
| 22.06.2013, 00:54 [ТС] | |
|
0
|
|
|
644 / 198 / 5
Регистрация: 24.07.2010
Сообщений: 1,315
|
|
| 22.06.2013, 06:38 | |
|
вы вводите данные непосредственно в самом гриде да? или в текстбоксе?
1
|
|
|
0 / 0 / 0
Регистрация: 07.06.2013
Сообщений: 21
|
|
| 22.06.2013, 21:36 [ТС] | |
|
В текст Боксе ввожу, нажимаю Enter и запись добавляется в Грид
0
|
|
|
644 / 198 / 5
Регистрация: 24.07.2010
Сообщений: 1,315
|
|
| 23.06.2013, 06:59 | |
|
Тогда не надо ничего делать по кнопке отмена и все=) после того как ввели в текст бокс, нажимаем кнопку добавить, по нажатию этой кнопки проверяем валидность введенных данных и добавляем запись в базу данных, обновляем грид(перезаполняем его), если станет долго работать можно будет потом оптимизировать, я вам сейчас самый быстрый и легкий способ говорю)
Если нажали отмену, просто очищаем текстбокс или что вам надо делаете и все, запись в БД не добавляем, грид соответственно тоже не обновляем, все просто =)
0
|
|
| 23.06.2013, 06:59 | |
|
Помогаю со студенческими работами здесь
36
cmd.ExecuteNonQuery();
Foreach + cmd.ExecuteNonQuery() Почему cmd ругается на %?
Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
|||
|
SDL3 для Web (WebAssembly): Обработчик клика мыши в браузере ПК и касания экрана в браузере на мобильном устройстве
8Observer8 02.02.2026
Содержание блога
Для начала пошагово создадим рабочий пример для подготовки к экспериментам в браузере ПК и в браузере мобильного устройства. Потом напишем обработчик клика мыши и обработчик. . .
|
Философия технологии
iceja 01.02.2026
На мой взгляд у человека в технических проектах остается роль генерального директора. Все остальное нейронки делают уже лучше человека. Они не могут нести предпринимательские риски, не могут. . .
|
SDL3 для Web (WebAssembly): Вывод текста со шрифтом TTF с помощью SDL3_ttf
8Observer8 01.02.2026
Содержание блога
В этой пошаговой инструкции создадим с нуля веб-приложение, которое выводит текст в окне браузера. Запустим на Android на локальном сервере. Загрузим Release на бесплатный. . .
|
SDL3 для Web (WebAssembly): Сборка C/C++ проекта из консоли
8Observer8 30.01.2026
Содержание блога
Если вы откроете примеры для начинающих на официальном репозитории SDL3 в папке: examples, то вы увидите, что все примеры используют следующие четыре обязательные функции, а. . .
|
|
SDL3 для Web (WebAssembly): Установка Emscripten SDK (emsdk) и CMake для сборки C и C++ приложений в Wasm
8Observer8 30.01.2026
Содержание блога
Для того чтобы скачать Emscripten SDK (emsdk) необходимо сначало скачать и уставить Git: Install for Windows. Следуйте стандартной процедуре установки Git через установщик. . . .
|
SDL3 для Android: Подключение Box2D v3, физика и отрисовка коллайдеров
8Observer8 29.01.2026
Содержание блога
Box2D - это библиотека для 2D физики для анимаций и игр. С её помощью можно определять были ли коллизии между конкретными объектами. Версия v3 была полностью переписана на Си, в. . .
|
Инструменты COM: Сохранение данный из VARIANT в файл и загрузка из файла в VARIANT
bedvit 28.01.2026
Сохранение базовых типов COM и массивов (одномерных или двухмерных) любой вложенности (деревья) в файл, с возможностью выбора алгоритмов сжатия и шифрования.
Часть библиотеки BedvitCOM
Использованы. . .
|
SDL3 для Android: Загрузка PNG с альфа-каналом с помощью SDL_LoadPNG (без SDL3_image)
8Observer8 28.01.2026
Содержание блога
SDL3 имеет собственные средства для загрузки и отображения PNG-файлов с альфа-каналом и базовой работы с ними. В этой инструкции используется функция SDL_LoadPNG(), которая. . .
|