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

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Как данные из DataGridView отравить в БД, Не могу понять, парюсь просто. 
:(
    Опции темы
Iganga
Дата 18.5.2008, 20:31 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


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

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



Добрый всем привет))
У мну такая вот проблема.
Не получается обновить БД набитым  до отвалу данными  datagrilview.
Помогите пожалуйста.
Код


private void button1_Click(object sender, EventArgs e)
        {
            string MyConn = "Driver={Mysql Odbc 5.1 Driver};Server=localhost; DataBase=reserve_taxi; UID=root;Password=eriol198924;Option=3";
            try
            {
                OdbcDataAdapter da = new OdbcDataAdapter("Select*from operator_accepted_user_info", MyConn);               
                da.Fill(table);
                bnd.DataSource = table;
                //dataGridView1.AutoResizeColumns(DataGridViewAutoSizeColumnsMode.AllCellsExceptHeader);
                dataGridView1.DataSource = bnd;
            }
            catch (OdbcException es)
            {
                MessageBox.Show(es.ToString());
            }

        }

private void button2_Click(object sender, EventArgs e)
        {
            string MyConn = "Driver={Mysql Odbc 5.1 Driver};Server=localhost; DataBase=reserve_taxi; UID=root;Password=eriol198924;Option=3";
            OdbcConnection connection = new OdbcConnection(MyConn);
            OdbcCommand command = new OdbcCommand("UPDATE operator_accepted_user_info SET  departure = ? destination = ?" +
                   "cost = ? depday = ? thistime= ? car_time = ?"+"WHERE departure = ?", connection);
            OdbcDataAdapter dataAdapter = new OdbcDataAdapter();
            OdbcParameter parameter;
            command.Parameters.Add("departure", OdbcType.Char,100,"departure");
            command.Parameters.Add("desdtination", OdbcType.Char, 100,"destination");
            command.Parameters.Add("cost", OdbcType.Int, 15, "cost");
            command.Parameters.Add("depday",OdbcType.Date,19,"depday");
            command.Parameters.Add("thistime",OdbcType.Time,19,"thistime");
            command.Parameters.Add("car_time",OdbcType.Time,19,"car_time");
            parameter = command.Parameters.Add("departure",OdbcType.Int,15,"departure");
            parameter.SourceVersion = DataRowVersion.Original;
            dataGridView1.DataSource = table;           
            dataAdapter.Update(table);
            dataAdapter.UpdateCommand = command;
        }

PM MAIL ICQ   Вверх
informatik
Дата 18.5.2008, 23:34 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


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

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



Ну во первых хотелось бы сказать что много лишнего -  строку подключения надо бы сделать глобальной переменной и не создавать ее два раза, и то же самое  с ДатаАдаптером!!

А ошибка как я понимаю здесь:
Код

 dataAdapter.Update(table);
 dataAdapter.UpdateCommand = command;


Сначала идет обновление а потом уже присваивается команда для обновления.

Буквой ошибся наверно....
Код

command.Parameters.Add("desdtination", OdbcType.Char, 100,"destination"); //desdtination <> destination


Это сообщение отредактировал(а) informatik - 18.5.2008, 23:49
--------------------
namespace informatik
PM MAIL   Вверх
informatik
Дата 18.5.2008, 23:56 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


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

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



Два раза указан параметр departure - одно и то же имя, имена должны быть разные...

Добавлено @ 00:05
Лучше command сделай так...
Код

OdbcCommand command = new OdbcCommand("UPDATE operator_accepted_user_info SET  departure = @departure," + 
"destination = @destination, cost =@cost, depday = @depday,  thistime= @thistime, car_time = @car_time"+
"WHERE departure = @departure_old", connection);
            OdbcParameter parameter;
            command.Parameters.Add("@departure", OdbcType.Char,100,"departure");
            command.Parameters.Add("@destination", OdbcType.Char, 100,"destination");
            command.Parameters.Add("@cost", OdbcType.Int, 15, "cost");
            command.Parameters.Add("@depday",OdbcType.Date,19,"depday");
            command.Parameters.Add("@thistime",OdbcType.Time,19,"thistime");
            command.Parameters.Add("@car_time",OdbcType.Time,19,"car_time");
            parameter = command.Parameters.Add("@departure_old",OdbcType.Int,15,"departure");
            parameter.SourceVersion = DataRowVersion.Original;


Могу где нить ошибиться... smile ... будь внимателен

Это сообщение отредактировал(а) informatik - 19.5.2008, 00:06
--------------------
namespace informatik
PM MAIL   Вверх
Iganga
Дата 24.5.2008, 11:56 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


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

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



Помогите пожалста!!!!
Ну очень нуно.
Я уже явно пробовал 
Код

DataTable.AcceptChanges;


PM MAIL ICQ   Вверх
informatik
Дата 24.5.2008, 19:07 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


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

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



DataTable.AcceptChanges - всего лишь прменяет сделанные изменения в DataTable... но не передает их базу..

А мое сообщение ты читал..

Цитата

А ошибка как я понимаю здесь:
Код

 dataAdapter.Update(table);
 dataAdapter.UpdateCommand = command;



Это сообщение отредактировал(а) informatik - 24.5.2008, 19:08
--------------------
namespace informatik
PM MAIL   Вверх
Iganga
Дата 24.5.2008, 21:30 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


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

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



Читал, но в чем там ошибка?
В команде?
PM MAIL ICQ   Вверх
informatik
Дата 24.5.2008, 23:02 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


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

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



Цитата

Цитата

А ошибка как я понимаю здесь:код C#
 dataAdapter.Update(table);
 dataAdapter.UpdateCommand = command;


Цитата

Читал, но в чем там ошибка?
В команде?


Строки местами менять пробовал?
--------------------
namespace informatik
PM MAIL   Вверх
mindyourmind
Дата 1.6.2008, 23:36 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 2
Регистрация: 1.6.2008
Где: Киев

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



Вопросец: после перетягивания базы данных Access в Solution Explorer сбоку так заманчиво открылись таблицы и запросы... Нельзя ли не набирать каждый раз строку запроса заново, а просто вызвать запрос, набранный в Аксессе, напрямую, чтоб он обрабатывал свою базу?
PM MAIL ICQ   Вверх
Iganga
Дата 2.6.2008, 13:21 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


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

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



База в MySql. Блин может это Мускул глючит  а ?
PM MAIL ICQ   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Прежде чем создать тему, посмотрите сюда:
stab
mr.DUDA
Exception

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

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

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


 




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


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

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