|
1 / 1 / 0
Регистрация: 14.02.2021
Сообщений: 97
|
||||||
Передать значение textbox одной формы в textbox другой формы18.02.2021, 18:03. Показов 5544. Ответов 18
Всем привет!
Столкнулся с проблемой, когда нужно передать численное значение из textbox одной формы в textbox другой формы, затем по нему будет выполнен select из бд и заполнена dataGridView. Выполнить select еще ладно, проблема в том, что не удается обратиться к текстбоксу, которая на другой форме. В интернете путного ничего найти не смог, там везде примеры с созданием новой формы, а мне надо с существующей формы передать в существующую. Код:
Буду очень признателен!
0
|
||||||
| 18.02.2021, 18:03 | |
|
Ответы с готовыми решениями:
18
Каким образом можно передать из формы (из textbox) значение в другой класс? События? Перенести данные из textBox одной формы в listBox другой формы |
|
|
||||||
| 18.02.2021, 20:32 | ||||||
|
можно сделать так:
1
|
||||||
|
Модератор
|
||
| 18.02.2021, 20:54 | ||
|
Важен момент создания VsePokazania в другой Форме или наоборот. Так же важен момент доступна ли для редактирования другая Форма во время работы Формы VsePokazania. То есть достаточно ли одного раза передачи значения при создании Формы. Или нужна динамическая связь, чтобы получить значение во время вызова метода LoadData().
0
|
||
|
1 / 1 / 0
Регистрация: 14.02.2021
Сообщений: 97
|
|
| 18.02.2021, 22:23 [ТС] | |
|
Элд Хасп, Форма открывается следующим образом: главная форма, на ней textbox в который вводится лицевой счет и выполняется sql команда select и заполняются текстбоксы показаний счетчиков.
Есть кнопка "Все показания" - по нажатию которой открывается вторая форма, на которой dataGridView. Тут и заключается проблема. В идеале нужно взять значение текстбокса с первой формы, выполнить select по этому значению и результат заполнить в dataGridView. Главная форма доступна при открытой VsePokazania. Одного раза передачи достаточно. До момента изменения значения текстбокса с первой формы (т.е. пока пользователь не введет другой счет и выполнит селект по нему). Отсюда и ответ на третий вопрос (кмк), динамическая связь не нужна, данные нужны только для чтения, изменять будет запрещено. Первая и вторая формы:
0
|
|
|
1 / 1 / 0
Регистрация: 14.02.2021
Сообщений: 97
|
|||||||||||
| 18.02.2021, 22:34 [ТС] | |||||||||||
|
Частично решил таким образом, на главной форме для кнопки написал:
Код:
0
|
|||||||||||
|
Модератор
|
|||
| 18.02.2021, 22:51 | |||
|
Добавлено через 2 минуты con.Open(); и проверьте значение свойства con.ConnectionString.Покажите его. Попробуйте найти рабочую строку и её тоже покажите.
0
|
|||
|
1 / 1 / 0
Регистрация: 14.02.2021
Сообщений: 97
|
|
| 18.02.2021, 22:53 [ТС] | |
|
Элд Хасп, да, верно. Т.е. textBox1 находится на форме VsePokazania
0
|
|
|
1 / 1 / 0
Регистрация: 14.02.2021
Сообщений: 97
|
|
| 18.02.2021, 22:57 [ТС] | |
|
Элд Хасп, con.ConnectionString прописано верно, коннект устанавливается.
Проверить можно так: если запрос прописать так var cmd = new SqlCommand($"SELECT * from products",con); то все работает, но выводятся все значения. А нужно так: var cmd = new SqlCommand($"SELECT * from products where nc={ncc}",con);
0
|
|
|
1 / 1 / 0
Регистрация: 14.02.2021
Сообщений: 97
|
|
| 18.02.2021, 23:07 [ТС] | |
|
Элд Хасп, Да, я хочу выполнить команду по значению из текстбокса, т.е.
var cmd = new SqlCommand($"SELECT * from products where nc={ncc}",con); Но в таком случае падает. Если же выполнить var cmd = new SqlCommand($"SELECT * from products",con); - то работает, но выдаются все результаты, по всем счетам. А мне надо только по тому, что указан в текстбоксе.
0
|
|
|
Модератор
|
||
| 18.02.2021, 23:11 | ||
|
Я вам говорю ПРОВЕРИТЬ, что там в действительности. Вы думаете, что там нужное вам выражение, а там может оказаться другое выражение: лишняя точка, кавычка и т.п. Посмотрите на строке SqlDataReader reader =... какое значение находится в cmd.CommandText.
0
|
||
|
1 / 1 / 0
Регистрация: 14.02.2021
Сообщений: 97
|
||||||
| 18.02.2021, 23:16 [ТС] | ||||||
|
Я видимо что-то не понимаю.
В SqlDataReader reader находится запрос, который я задал для cmd.CommandText
0
|
||||||
|
1 / 1 / 0
Регистрация: 14.02.2021
Сообщений: 97
|
|
| 18.02.2021, 23:18 [ТС] | |
|
Получается в cmd значение null?
0
|
|
|
1 / 1 / 0
Регистрация: 14.02.2021
Сообщений: 97
|
|||||||||||
| 18.02.2021, 23:31 [ТС] | |||||||||||
|
Просто странно, что этот фрагмент кода написал по подобию другого:
Но не работает, если значение передавать в текстбокс другой формы.
0
|
|||||||||||
|
Модератор
|
|||||||
| 18.02.2021, 23:58 | |||||||
str и str1.
0
|
|||||||
|
1 / 1 / 0
Регистрация: 14.02.2021
Сообщений: 97
|
|
| 19.02.2021, 08:57 [ТС] | |
|
Элд Хасп,
0
|
|
|
1 / 1 / 0
Регистрация: 14.02.2021
Сообщений: 97
|
|
| 19.02.2021, 10:39 [ТС] | |
|
Кажется понял проблему (но это не точно), но не понял причину.
В запросе берется значение из TextBox1, но в SQL команду передается значение с запятой. Добавлено через 1 час 8 минут Может есть решение и вовсе не использовать 2 текстбокса? Возможно ли из Form2 обратиться к значению текстбокса на Form1? Например, чтобы запрос выглядел как-то: var str = $"SELECT * from products where nc={TextBox из Form1}";
0
|
|
|
Модератор
|
|||||||||||||
| 19.02.2021, 11:43 | |||||||||||||
Сообщение было отмечено detrop как решение
Решение
1
|
|||||||||||||
|
1 / 1 / 0
Регистрация: 14.02.2021
Сообщений: 97
|
|
| 19.02.2021, 11:53 [ТС] | |
|
Элд Хасп, Toros1992, оооо заработало наконец!
Я ведь пробовал по совету Toros1992, но не поправил public void LoadData(string ncc) ![]() Спасибо большое! Останется думать над самой таблицей уже.
0
|
|
| 19.02.2021, 11:53 | |
|
Помогаю со студенческими работами здесь
19
Передача данных с DataGridView одной формы в TextBox другой формы При нажатии на кнопку одной формы, что-либо записывается в TextBox другой формы Из TextBox одной формы в ListView другой формы Передать данные из TextBox второй формы в TextBox первой формы Доступ из одной формы к textBox в другой. Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
|||
|
SDL3 для Web (WebAssembly): Реализация движения на Box2D v3 - трение и коллизии с повёрнутыми стенами
8Observer8 20.02.2026
Содержание блога
Box2D позволяет легко создать главного героя, который не проходит сквозь стены и перемещается с заданным трением о препятствия, которые можно располагать под углом, как верхнее. . .
|
Конвертировать закладки radiotray-ng в m3u-плейлист
damix 19.02.2026
Это можно сделать скриптом для PowerShell. Использование
. \СonvertRadiotrayToM3U. ps1 <path_to_bookmarks. json>
Рядом с файлом bookmarks. json появится файл bookmarks. m3u с результатом.
# Check if. . .
|
Семь CDC на одном интерфейсе: 5 U[S]ARTов, 1 CAN и 1 SSI
Eddy_Em 18.02.2026
Постепенно допиливаю свою "многоинтерфейсную плату". Выглядит вот так:
https:/ / www. cyberforum. ru/ blog_attachment. php?attachmentid=11617&stc=1&d=1771445347
Основана на STM32F303RBT6.
На борту пять. . .
|
Камера Toupcam IUA500KMA
Eddy_Em 12.02.2026
Т. к. у всяких "хикроботов" слишком уж мелкий пиксель, для подсмотра в ESPriF они вообще плохо годятся: уже 14 величину можно рассмотреть еле-еле лишь на экспозициях под 3 секунды (а то и больше),. . .
|
|
И ясному Солнцу
zbw 12.02.2026
И ясному Солнцу,
и светлой Луне.
В мире
покоя нет
и люди
не могут жить в тишине.
А жить им немного лет.
|
«Знание-Сила»
zbw 12.02.2026
«Знание-Сила»
«Время-Деньги»
«Деньги -Пуля»
|
SDL3 для Web (WebAssembly): Подключение Box2D v3, физика и отрисовка коллайдеров
8Observer8 12.02.2026
Содержание блога
Box2D - это библиотека для 2D физики для анимаций и игр. С её помощью можно определять были ли коллизии между конкретными объектами и вызывать обработчики событий столкновения. . . .
|
SDL3 для Web (WebAssembly): Загрузка PNG с прозрачным фоном с помощью SDL_LoadPNG (без SDL3_image)
8Observer8 11.02.2026
Содержание блога
Библиотека SDL3 содержит встроенные инструменты для базовой работы с изображениями - без использования библиотеки SDL3_image. Пошагово создадим проект для загрузки изображения. . .
|