Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > .NET Frameworks (точка нет фреймворки) > C# (си шарп)
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 20.07.2011, 10:25   #1
severm
 
Регистрация: 08.07.2011
Сообщений: 9
По умолчанию С# удаление строки из БД Access

Привет всем. Помогите разобраться с запросом на удаление строки в БД.
При выполнение останавливается на myOleDbCommand.ExecuteNonQuery();
(Отсутствует значение для одного или нескольких требуемых параметров.) Такой же запрос на добавление работает.
Заранее спасибо .

Код:
      public Form3 ( )
        {
            InitializeComponent ( );
        }

        private void Form3_Load ( object sender , EventArgs e )
        {
            // TODO: данная строка кода позволяет загрузить данные в таблицу "dataBaseDataSet1.Таблица1". При необходимости она может быть перемещена или удалена.
            this.таблица1TableAdapter.Fill ( this.dataBaseDataSet1.Таблица1 );
            
        }

        private void button2_Click ( object sender , EventArgs e )
        {
         Close();
        }

        private void button1_Click ( object sender , EventArgs e )
        {
           string connectionString =@"provider=Microsoft.Jet.OLEDB.4.0;data source=" +System.IO.Path.Combine ( Application.StartupPath , "DataBase.mdb" );
            OleDbConnection myOleDbConnection = new OleDbConnection ( connectionString );
            OleDbCommand myOleDbCommand = myOleDbConnection.CreateCommand ();
                   myOleDbCommand.CommandText = @"DELETE FROM Таблица1 
                                         WHERE (№п/п = '" + this.textBox1.Text + "');";
            myOleDbConnection.Open ();
            myOleDbCommand.ExecuteNonQuery();          
            myOleDbConnection.Close ();
                   MessageBox.Show ( "Запись прошла успешно" , "Всё правильно сделал!!!" );
            Close ();           
      
        }



___________
Код нужно оформлять по правилам:
тегом [CODE]..[/СODE] (это кнопочка с решёточкой #)
Не забывайте об этом!
Модератор.

Последний раз редактировалось Serge_Bliznykov; 20.07.2011 в 10:29.
severm вне форума Ответить с цитированием
Старый 20.07.2011, 10:31   #2
Serge_Bliznykov
Старожил
 
Регистрация: 09.01.2008
Сообщений: 26,238
По умолчанию

имя поля у Вас очень "кривое"

поэтому,
просто в порядке предположения, попробуйте его в запросе экранировать квадратными скобками..

примерно так:
Код:
          myOleDbCommand.CommandText = @"DELETE FROM Таблица1 
                                         WHERE ([№п/п] = '" + this.textBox1.Text + "');";
....
Serge_Bliznykov вне форума Ответить с цитированием
Старый 20.07.2011, 10:34   #3
severm
 
Регистрация: 08.07.2011
Сообщений: 9
По умолчанию

Все ровно ругается.
severm вне форума Ответить с цитированием
Старый 20.07.2011, 10:49   #4
Serge_Bliznykov
Старожил
 
Регистрация: 09.01.2008
Сообщений: 26,238
По умолчанию

Цитата:
Все ровно ругается.
может у Вас поле textBox1.Text пустое?!!

тогда надо отлаживать - искать причину проблемы..
я бы начал с того, что после присвоения текста запроса myOleDbCommand.CommandText = ...
вывел полученный текст.
например,
Код:
this.textBox4SQL.Text = myOleDbCommand.CommandText;
посмотрел, что там получается в тексте запроса.

скопировал запрос AS IS (т.е. буквально через буфер обмена - полностью).
запустил MS Access, вставил полученный запрос и выполнил его.
Далее действовал в зависимости от полученных результатов...
Serge_Bliznykov вне форума Ответить с цитированием
Старый 20.07.2011, 11:53   #5
severm
 
Регистрация: 08.07.2011
Сообщений: 9
По умолчанию

Спасибо всем. Разобрался.
Код:
myOleDbCommand.CommandText = @"DELETE FROM Таблица1 
                                         WHERE ('№п/п' = '" + this.textBox1.Text + "');";
severm вне форума Ответить с цитированием
Старый 20.07.2011, 21:31   #6
TaTT DoGG
Форумчанин
 
Аватар для TaTT DoGG
 
Регистрация: 25.04.2008
Сообщений: 476
По умолчанию

используйте параметризированные запросы. так спокойней жить будет
Life if about choices
Make the right choice
TaTT DoGG вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Добавление и удаление записей из БД (Access) a_n_n_a БД в Delphi 26 02.01.2016 18:13
Удаление таблицы из БД Access Ягик БД в Delphi 0 14.03.2011 13:55
Удаление элементов строки s2 из строки s1 Ueshua Общие вопросы C/C++ 4 20.12.2009 13:06
Удаление связи между таблицами в Access sashaslam БД в Delphi 3 23.07.2008 09:44