Форум программистов, компьютерный форум, киберфорум
C#: Базы данных
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.90/21: Рейтинг темы: голосов - 21, средняя оценка - 4.90
5 / 5 / 1
Регистрация: 06.09.2012
Сообщений: 59
.NET 4.x

Добавление/удаление строк из БД MS SQL Compact

17.10.2013, 09:33. Показов 4334. Ответов 11
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Доброе утро всем программистам. Я не то чтобы новичек но и не гуру шарпа, задача у меня стоит следующая: есть у меня Datagridview, форма вторая и на ней текстбоксы и кнопка добавления. на основной кнопке datagridview и панель кнопочек, я добавляю строку в как мне кажется в бд с помощью:
C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
dataAppDataSet.Материалы.__Column.Table.Rows.Add(Convert.ToString(txt_number.Text), 
Convert.ToString(txt_name.Text), Convert.ToString(txt_kolvo.Text), Convert.ToString(txt_price.Text), 
Convert.ToString(txt_summ.Text), Convert.ToString(txt_idoper.Text), Convert.ToString(txt_datetime.Text), 
Convert.ToString(label11.Text), Convert.ToString(txt_upper.Text), Convert.ToString(txt_downer.Text));      
            try
            {
                this.Validate();
                this.материалыBindingSource.EndEdit();
                this.tableAdapterManager.UpdateAll(this.dataAppDataSet);
                
            }
            catch (System.Exception)
            {
                MessageBox.Show("Запись не добавлена");
            }
            f1.материалыTableAdapter.Fill(dataAppDataSet.Материалы);
            this.Close();
удаляю их такой строкой:

C#
1
материалыBindingSource.RemoveCurrent();
при всем данные записываются, хранятся каждое значение в своей ячейке, а вот когда удаляю строку из DGV, она у меня удаляется только из элемента, но при перезапуске программы строка выведена все таже... Дайте мне пинок под зад, я уже все возможные способы перепробовал. База локальная, формат *.sdf. зы.Если писать запрос то, тогда как мне описать запрос который удалял бы выбранную мной строку? Всем кто хоть чуть чуть меня толкнет в нужном направлении заранее спасибо, ну и потом спасибо будет=)
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
17.10.2013, 09:33
Ответы с готовыми решениями:

Добавление и удаление данных в ms sql c#
Здравствуйте! Возникла проблема! Я создал базу данных в ms sql server 2012 и вывожу ее в windows form через datagridview. У меня 3 таблицы,...

Добавление и удаление строк БД
Работаю с БД из vs 2010 c# подключал бд не программно Есть две проблемы: 1) При добавлении строки получается два состояния добавления...

Добавление, удаление записей из БД SQL по запросу
Итак, установил в c# соединение с SQL Server, подсоединил к DataGridViev одну таблицу. Как сделать добавление данных в таблицу, используя...

11
61 / 61 / 14
Регистрация: 06.10.2013
Сообщений: 133
17.10.2013, 10:17
С этого начни http://msdn.microsoft.com/en-u... 2221y.aspx. Потом перейди к этому http://msdn.microsoft.com/ru-r... mmand.aspx
2
 Аватар для Eclipze
29 / 29 / 8
Регистрация: 28.01.2013
Сообщений: 211
17.10.2013, 11:30
Точно не уверен, но разве не надо после удаления строки из бд зафиксировать изменения, т.е снова сделать:
C#
1
2
3
this.Validate();
                this.материалыBindingSource.EndEdit();
                this.tableAdapterManager.UpdateAll(this.dataAppDataSet);
1
5 / 5 / 1
Регистрация: 06.09.2012
Сообщений: 59
17.10.2013, 11:44  [ТС]
Цитата Сообщение от Eclipze Посмотреть сообщение
Точно не уверен, но разве не надо после удаления строки из бд зафиксировать изменения, т.е снова сделать:
C#
1
2
3
this.Validate();
                this.материалыBindingSource.EndEdit();
                this.tableAdapterManager.UpdateAll(this.dataAppDataSet);
пробовал, не помогло. Запрос DeleteCommand требуется. А я нуб в запросах из шарпа...
0
5 / 5 / 1
Регистрация: 06.09.2012
Сообщений: 59
17.10.2013, 12:32  [ТС]
Цитата Сообщение от Hi-Rez Посмотреть сообщение
С этого начни http://msdn.microsoft.com/en-u... 2221y.aspx. Потом перейди к этому http://msdn.microsoft.com/ru-r... mmand.aspx
С добавлением правильным вроде разобрался, а как мне быть с удалением, не получается. создал инструкции в dataadapter вызываю их и мне предлагает вот что написать:

C#
1
categoriesTableAdapter.Delete(Original_CategoryID, Original_CategoryName);
Visual не понимает, хотя сам и предлагает:
0
61 / 61 / 14
Регистрация: 06.10.2013
Сообщений: 133
17.10.2013, 12:40
Цитата Сообщение от KOCMOCTAP Посмотреть сообщение
а как мне быть с удалением, не получается
Выложите программу на рассмотрение.
Вам нужно создать Deletecommand и Updatecommand.
2
5 / 5 / 1
Регистрация: 06.09.2012
Сообщений: 59
17.10.2013, 12:57  [ТС]
Цитата Сообщение от Hi-Rez Посмотреть сообщение
Выложите программу на рассмотрение.
Вам нужно создать Deletecommand и Updatecommand.
вот архив проекта, направьте меня в нужное русло, я не пойму как создать updatecommand и deletecommand при имеющихся компонентах...testdb.zip
0
61 / 61 / 14
Регистрация: 06.10.2013
Сообщений: 133
17.10.2013, 14:20
Сначала осуществляем нормальное подключение
C#
1
2
public SqlConnection connection;
      public SqlDataAdapter adapter;
C#
1
2
3
4
5
6
public Form1()
        {
            InitializeComponent();
            connection = new SqlConnection(@"строка подключения");
            adapter = new SqlDataAdapter("SELECT * FROM Categories", connection);
        }
C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
private void Form1_Load(object sender, EventArgs e)
        {
          try
          {
            connection.Open();
            DataTable table = new DataTable();
            adapter.Fill(table);
            dataGridView1.DataSource = table;
          }
          catch (SqlException ex)
          {
            MessageBox.Show(ex.Message);
          }
        }
Вложения
Тип файла: rar testdb.rar (638.5 Кб, 14 просмотров)
0
61 / 61 / 14
Регистрация: 06.10.2013
Сообщений: 133
17.10.2013, 14:40
C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
private void button2_Click(object sender, EventArgs e)
        {
          if (dataGridView1.Rows.Count > 1)
          {
            DialogResult dr = MessageBox.Show("Вы действительно хотите удалить данную запись", "Сообщение системы", MessageBoxButtons.YesNo, MessageBoxIcon.Question);
            if (dr == System.Windows.Forms.DialogResult.Yes)
            {
              string deletestring = "DELETE FROM [Categories] WHERE [CategoryID] = @id";
              int chislo = Convert.ToInt32(dataGridView1["CategoryID", dataGridView1.CurrentRow.Index].Value);
              SqlCommand commanddelete = new SqlCommand(deletestring, connection);
              commanddelete.Parameters.Add(@"id", SqlDbType.Int).Value = chislo;
              try
              {
                commanddelete.ExecuteNonQuery();
                MessageBox.Show("Запись удалена", "Сообщение системы", MessageBoxButtons.OK, MessageBoxIcon.Asterisk);
              }
              catch (SqlException ex)
              {
                MessageBox.Show(ex.Message);
              }
            }
          }
        }
Производиться удаление текущей записи.
0
5 / 5 / 1
Регистрация: 06.09.2012
Сообщений: 59
17.10.2013, 15:09  [ТС]
пробовал правильное подключение, не хочет запускаться. Но я нашел другой способ, я добавил DataApapter в коллекцию панели элементов, он сгенерировал мне sqlConnection и sqlDataAdapter, и соответственно запросы INSERT, UPDATE, DELETE для таблицы. Вопрос в следующем какой синтасис их использования? Я нашел следующее:


Куда бы зарыться так чтобы запрос генерировался автоматически а я всего лишь писал на него указатель для dataadapter. Второй вопрос, если использовать данные функции возможно, то каким образом связывать значения датагрида и БД?
0
61 / 61 / 14
Регистрация: 06.10.2013
Сообщений: 133
17.10.2013, 15:11
C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
if (!String.IsNullOrEmpty(nametextbox.Text) && !String.IsNullOrEmpty(idtextbox.Text))
          {
          int categotyid = Convert.ToInt32(idtextbox.Text);
          string categoryname = nametextbox.Text;
          string sqladdstring = "SET IDENTITY_INSERT Categories ON INSERT INTO Categories(CategoryID, CategoryName) values(@id, @cname)";
            SqlCommand commandadd = new SqlCommand(sqladdstring, connection);
            commandadd.Parameters.AddWithValue("@id", categotyid);
            commandadd.Parameters.AddWithValue("@cname", categoryname);
            try
            {
              commandadd.ExecuteNonQuery();
            }
            catch (SqlException ex)
            {
              MessageBox.Show(ex.Message);
            }
          }
Вложения
Тип файла: rar testdb.rar (639.5 Кб, 19 просмотров)
0
61 / 61 / 14
Регистрация: 06.10.2013
Сообщений: 133
17.10.2013, 15:12
Цитата Сообщение от KOCMOCTAP Посмотреть сообщение
пробовал правильное подключение, не хочет запускаться.
Распакуйте и проверьте вложение. Там так несколько подправил.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
17.10.2013, 15:12
Помогаю со студенческими работами здесь

Добавление/Удаление/Редактирование записей SQL/C#
Помогите реализовать удаление/добавление/редактирование записей. При 1 нажатии на запись в dataGridView1 чтобы значения выводились в...

Удаление и добавление строк в DataGridView
Здравствуйте! Я только что начал изучать базы данных и сделал небольшую базу. У меня возникла проблема с DataGridView. Когда я добавляю...

Удаление/Добавление строк в зависящие таблицы
Привет всем! Такой вопрос: Как добавлять/удалять строки из зависимых таблиц? К примеру есть две таблицы - Data и History. History имеет...

Добавление, изменение и удаление строк dataGridView
Добрый вечер, форумчане. Помогите пожалуйста, кто сможет. Ситуация такая: есть форма с объектом dataGridView, которая отображает содержимое...

Работа с SQL: добавление и удаление записей
Мне нужно с помощью ASP.NET в БД добавить и удалить записи, ниже представлен отрывки кода, где я вывожу записи на экран из таблицы, как его...


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

Или воспользуйтесь поиском по форуму:
12
Ответ Создать тему
Новые блоги и статьи
Команды "Заполнить" и "Очистить" на форме документа
Maks 26.03.2026
1. Команда формы "ЗаполнитьЗапчасти". На примере нетипового документа разработанного в конфигурации КА2. В качестве источника данных указан регистр накопления, в который записываются данные о. . .
Кому нужен AOT?
DevAlt 26.03.2026
Решил сделать простой ланчер Написал заготовку: dotnet new console --aot -o UrlHandler var items = args. Split(":"); var tag = items; var id = items; var executable = args;. . .
Отправка уведомления на почту при изменении наименования справочника
Maks 24.03.2026
Программная отправка письма электронной почты на примере изменения наименования типового справочника "Склады" в конфигурации БП3. Перед реализацией необходимо выполнить настройку системной учетной. . .
модель ЗдравоСохранения 5. Меньше увольнений- больше дохода!
anaschu 24.03.2026
Теперь система здравосохранения уменьшает количество увольнений. 9TO2GP2bpX4 a42b81fb172ffc12ca589c7898261ccb/ https:/ / rutube. ru/ video/ a42b81fb172ffc12ca589c7898261ccb/ Слева синяя линия -. . .
Midnight Chicago Blues
kumehtar 24.03.2026
Такой Midnight Chicago Blues, знаешь?. . Когда вечерние улицы становятся ночными, а ты не можешь уснуть. Ты идёшь в любимый старый бар, и бармен наливает тебе виски. Ты смотришь на пролетающие. . .
SDL3 для Desktop (MinGW): Вывод текста со шрифтом TTF с помощью библиотеки SDL3_ttf на Си и C++
8Observer8 24.03.2026
Содержание блога Финальные проекты на Си и на C++: finish-text-sdl3-c. zip finish-text-sdl3-cpp. zip
Жизнь в неопределённости
kumehtar 23.03.2026
Жизнь — это постоянное существование в неопределённости. Например, даже если у тебя есть список дел, невозможно дойти до точки, где всё окончательно завершено и больше ничего не осталось. В принципе,. . .
Модель здравоСохранения: работники работают быстрее после её введения.
anaschu 23.03.2026
geJalZw1fLo Корпорация до введения программа здравоохранения имела много невыполненных работниками заданий, после введения программы количество заданий выросло. Но на выплатах по больничным это. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru