Форум программистов, компьютерный форум, киберфорум
C#: Базы данных
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.88/8: Рейтинг темы: голосов - 8, средняя оценка - 4.88
42 / 42 / 14
Регистрация: 29.12.2010
Сообщений: 159

Как по клику кнопки обновлять содержимое динамически создаваемого ДатаГрида?

11.01.2013, 17:04. Показов 1664. Ответов 5
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Всем доброго времени суток! Прошу не забрасывать сразу яйцами и помидорами!!!
Короче, пытаюсь начинать кой-какое офисное приложение и сразу тупейший вопрос, но разобраться не могу:
на форме текстовое поле и кнопка. По клику на кнопке хочу выполнить запрос к MS SQL Server Express 2005, чтобы выполнился простой селект с условием where, которое задается в текстбоксе... То есть запрос: "Select * from Table_1 where t1="+Textbox1.text. И в это же время, чтобы ниже на форме появился датагридвью с необходимым результатом. Так вот, первый раз срабатывает нормально, а если, не перезапуская приложение, попробовать выполнить второй раз запрос, т.е. с другим условием, то изменений никаких не происходит... Нутром чувствую, что запрос-то выполняется, но тупо не обновляется содержимое датагрида. Че не так?
Короче, такой код:
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
35
36
37
38
39
40
41
42
43
namespace WindowsFormsApplication1
{
    public partial class Form1 : Form
    {
        public Form1()
        {
            InitializeComponent();
        }
 
        private void button1_Click(object sender, EventArgs e)
        {
            string txt = textBox1.Text;
            string connStr = @"Data Source=(local)\SQLEXPRESS;
                            Initial Catalog=Test;
                            Integrated Security=True";
            SqlConnection conn = new SqlConnection(connStr);
            try
            {
                conn.Open();
            }
            catch (SqlException se)
            {
                MessageBox.Show(se.Message);
                return;
            }
                MessageBox.Show("Connect sucess!");// эт я проверяю, подключается ли програ второй раз к БД
                DataGrid Data1 = new DataGrid();
                Data1.Location = new System.Drawing.Point(10, 150); // устанавливаем необходимые свойства
                Data1.Name = "Data1";
                Data1.Size = new System.Drawing.Size(190, 123);
                Data1.TabIndex = 0;
                Data1.ReadOnly = true;
                Controls.Add(Data1); // добавляем на форму
                SqlCommand cmd = new SqlCommand("select * from Table_1 where t1=" + txt, conn);
                SqlDataAdapter DA = new SqlDataAdapter(cmd);
                DataTable qw = new DataTable();
                DA.Fill(qw);
                Data1.DataSource = qw;
                conn.Close();
                conn.Dispose();
        }
    }
}
Сразу говорю, лепил я его по всяким факам из этого раздела...
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
11.01.2013, 17:04
Ответы с готовыми решениями:

Как динамически обновлять элементы?
Как динамически обновлять элементы, например progressbar или listview?

Как прописать в методе Click динамически создаваемого меню команду из поля SQL
Здравствуйтею Ситуация следующего характера. Есть система с АРМами Для каждого АРМа создается индивидуальное меню. Меню строится...

Как обновлять содержимое окон в PyQt5?
Доброго всем времени суток. Я пишу небольшую программу, которая работает с базой данных, как Вы поняли, в ней реализованы несколько...

5
 Аватар для kodv
1449 / 1121 / 347
Регистрация: 11.04.2011
Сообщений: 2,621
11.01.2013, 18:13
Лично я думаю, что у вас новый DataGrid оказывается под старым, и вы его просто не видите. Вы либо удаляйти старый, пред тем, как создать новый, либо меняйте данные уже в имеющемся ДатаГриде
0
42 / 42 / 14
Регистрация: 29.12.2010
Сообщений: 159
11.01.2013, 18:37  [ТС]
Цитата Сообщение от kodv Посмотреть сообщение
меняйте данные уже в имеющемся ДатаГриде
Во! Так в этом же и вопрос заключается, как поменять данные в уже существующем ДатаГриде??
0
42 / 42 / 14
Регистрация: 29.12.2010
Сообщений: 159
11.01.2013, 19:22  [ТС]
и если позволите еще вопросец:
Почему консольное приложение на компе у соседки по кабинету при коненнекте под очычным юзером нормально работает-читает таблицу из ДБ
,
а с кодом, описанным в первом посте, только под юзером sa(!!!) вылетает такая вот штука
.
И это, я повторюсь, на одном и том же хосте...
0
 Аватар для kodv
1449 / 1121 / 347
Регистрация: 11.04.2011
Сообщений: 2,621
11.01.2013, 20:16
Напишит создание датагрида таким образом
C#
1
2
3
4
5
6
7
8
9
10
if(Controls["Data1"] == null)
{
                DataGrid Data1 = new DataGrid();
                Data1.Location = new System.Drawing.Point(10, 150); // устанавливаем необходимые свойства
                Data1.Name = "Data1";
                Data1.Size = new System.Drawing.Size(190, 123);
                Data1.TabIndex = 0;
                Data1.ReadOnly = true;
                Controls.Add(Data1); // добавляем на форму
}
Добавлено через 10 минут
По поводу дополнительного вопроса ... Сложно сказать. Вообще, у вас в строке не указан провайдер данных. Но, может быть, это и допускается, если вы под sa можете подключиться.
1
42 / 42 / 14
Регистрация: 29.12.2010
Сообщений: 159
12.01.2013, 02:21  [ТС]
Первый вопрос снимается:
решил действительно в начале обработчика батон-клик проверять на существование Контрола "Дата1" и если существует - удалять
C#
1
2
3
4
5
 if (Controls["Data1"] != null)
            {
                Controls["Data1"].Dispose();
                Controls.RemoveByKey("Data1");
            }
А что же с работой ВинФормс по сети? Кто-нить встречался с таким?
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
12.01.2013, 02:21
Помогаю со студенческими работами здесь

Как обновлять содержимое Label каждые n-секунд?
У меня есть сервер, на котором постоянно оновляются данные. Запрос который я отправляю - Джейсон строка...

Как обновлять содержимое Label каждые n-секунд
Как обновлять содержимое Label каждые n-секунд

Парсинг динамически создаваемого контента
Как осуществить парсинг к примеру таких сайтов http://plusminus.by/ , кде содержимое(коэффициенты) постоянно обновляется(подгружается js)?

Странное поведение динамически создаваемого массива
Вот такая вот простенькая программа, тестирующая возможности динамической памяти: #include <stdio.h> int main(int argc,char*...

Высота/ширина динамически создаваемого элемента
Внутри таблицы создаю ImageButton и пытаюсь установить у нее высоту и ширину. //создаем таблицу TableLayout tableLayout =...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
6
Ответ Создать тему
Новые блоги и статьи
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(), которая. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru