Модераторы: gambit
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Запись В Acces через UPDATE, Команда на запись 
:(
    Опции темы
PashaSem
Дата 4.2.2007, 21:07 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 90
Регистрация: 5.3.2006

Репутация: нет
Всего: нет



Всем Привет!
Не проходит выполнение крманды UPDATE  
Что я не правильно делаю ? постоянно пишет Syntax error in UPDATE statement  
И как сделать запись в базу через DataSet

Код

string strAccessConn = @"provider=Microsoft.Jet.oledb.4.0;" +
                                   @"data source=c:\BugTypes.mdb";
        string strAccessSelect = "SELECT * FROM Categories";
        
        // Create the dataset and add the Categories table to it:
        DataSet myDataSet = new DataSet();
        OleDbConnection myAccessConn = null;

        private void button1_Click(object sender, EventArgs e)
        {
            System.DateTime currentTime = System.DateTime.Now;
            myAccessConn = new OleDbConnection(strAccessConn);
            OleDbCommand myAccessCommand = new OleDbCommand(strAccessSelect, myAccessConn);
            OleDbDataAdapter myDataAdapter = new OleDbDataAdapter(myAccessCommand);

            OleDbCommand command = new OleDbCommand("UPDATE Categories SET Category Name = 'Привет'  WHERE Category ID = '2' ", myAccessConn);
            myAccessConn.Open();
            myDataAdapter.Fill(myDataSet, "Categories");
            int  afRows = command.ExecuteNonQuery();
            myAccessConn.Close();
        
          textBox1.Text = myDataSet.Tables["Categories"].Rows[2][2].ToString();
          
          }
    }
 

Спасибо!
PM MAIL   Вверх
gfmail
Дата 5.2.2007, 12:49 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 80
Регистрация: 8.7.2006

Репутация: нет
Всего: нет



Код

textBox1.Text = myDataSet.Tables["Categories"].Rows[2][2].ToString();

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

Что касается 
Цитата
Что я не правильно делаю ? постоянно пишет Syntax error in UPDATE statement  

, то можно было хотя-бы указать строку, в которой выдается ошибка smile 
PM MAIL ICQ   Вверх
PashaSem
  Дата 5.2.2007, 13:04 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 90
Регистрация: 5.3.2006

Репутация: нет
Всего: нет



Спасибо и еще раз Спасибо!
Совет действительно помог Сорри за проявление бескультурие!
Код

textBox1.Text = myDataSet.Tables["Categories"].Rows[2][2].ToString();

Просто и сердито!
Вопрос как обратно в Access из  textBox1 значение передать с помощью myDataSet?

Так как команда 
Код

 OleDbCommand command = new OleDbCommand("UPDATE Categories SET Category Name = 'Привет'  WHERE Category ID = '2' ", myAccessConn);

Уже замучила своим сообщением
Syntax error in UPDATE statement  
Уже и просто ID = 2 без кавычек пробовал!

Спасибо!
PM MAIL   Вверх
gfmail
Дата 5.2.2007, 15:28 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 80
Регистрация: 8.7.2006

Репутация: нет
Всего: нет



Я бы посоветовал использовать параметризованный запрос, с ним всё намного проще и нагляднее smile .
Код

        OleDbCommand cmd = new OleDbCommand(
            "UPDATE Categories SET Category Name =@text  WHERE Category ID = @value ", connection);
        cmd.Parameters.AddWithValue("@text", "Привет";
        cmd.Parameters.AddWithValue("@value", 2);


З.Ы. Пожалуйста, просто когда вопрос исчерпан, его обычно помечают решенным.
PM MAIL ICQ   Вверх
PashaSem
Дата 5.2.2007, 17:12 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 90
Регистрация: 5.3.2006

Репутация: нет
Всего: нет



Команду переписывал и по совету и вот по такому примеру
Код

string connectionString = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=BugTypes.MDB";
       string select = "UPDATE Categories  SET [Category Name]  = 'Привет'  WHERE  [Category ID] = 1"; //"UPDATE Categories SET[Category Name]='Привет' WHERE [Category ID]=2";
   OleDbConnection testConnection = new OleDbConnection(connectionString);
   testConnection.Open();
  // OleDbCommand testCommand =   new OleDbCommand("SELECT * FROM Categories", testConnection);
  OleDbCommand testCommand = new OleDbCommand(select, testConnection);
            //testCommand.Parameters.AddWithValue("@text", "Привет");
            //testCommand.Parameters.AddWithValue("@value", 2);
   int rowsReturn = testCommand.ExecuteNonQuery();
   testConnection.Close();

Выдает такое сообщение Отсутствует значение для одного или нескольких  требуемых параметров!
Команда вроде правильна 
Что ему еще не нравитбься?
PM MAIL   Вверх
gfmail
Дата 5.2.2007, 20:33 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 80
Регистрация: 8.7.2006

Репутация: нет
Всего: нет



А может что-то не то с самой базой?
PM MAIL ICQ   Вверх
PashaSem
Дата 5.2.2007, 22:10 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 90
Регистрация: 5.3.2006

Репутация: нет
Всего: нет



С базой все в порядке что то не то в самом коде.
Нашел пример добавления значений в базу Access из книги ADO.NET professional
Если у когото есто рабочий пример с командой 
Код

  OleDbCommand command = new OleDbCommand("UPDATE Categories  SET [Category Name] = 'HI' " + " WHERE [Category ID] = 2" ,myAccessConn);

Выложите буду признателенн все же хочеться узнать чего у меня  не пашет!

Спасибо!

Присоединённый файл ( Кол-во скачиваний: 16 )
Присоединённый файл  Data_to_Access.rar 83,93 Kb
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Прежде чем создать тему, посмотрите сюда:
stab
mr.DUDA
Exception

Используйте теги [code=csharp][/code] для подсветки кода. Используйтe чекбокс "транслит" если у Вас нет русских шрифтов.

Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, stab, mr.DUDA, Exception.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Базы данных под .NET | Следующая тема »


 




[ Время генерации скрипта: 0.0462 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.