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

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> При обновлении не удалось найти TableMapping["Tabl 
:(
    Опции темы
nmc
Дата 8.1.2010, 19:45 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


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

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



Доброго времени суток!

Пытаюсь добавить строку к таблице, но возникла такая ошибка
При обновлении не удалось найти TableMapping["Table"] или DataTable "Table".

Код

            string conn = "...";
            string query = "SELECT ...  FROM users"; 
            SqlDataAdapter da = new SqlDataAdapter(query, conn);
            DataSet tab = new DataSet();
            da.Fill(tab, "users");

            /////////////////////////добавляем новые строки в таблицу
            bd1DataSet ds = new bd1DataSet();
            bd1DataSet.usersDataTable usTablr = ds.users;
                  
            bd1DataSet.usersRow rowusers = usTablr.NewusersRow();
            rowusers.id = 2;
            ...
            ...
            usTablr.AddusersRow(rowusers);

//метод для вставки 
         classA.InsertRowUsers(query, da, tab);
               
 public void InsertRowUsers(string strquery, SqlDataAdapter da, DataSet table)
            {
                SqlParameterCollection pc = command.Parameters;
                pc.Add("id", System.Data.SqlDbType.Int, 10);
                ...
                da.InsertCommand = command;
//Ошибка
//При обновлении не удалось найти TableMapping["Table"] или DataTable "Table".
                da.Update(tab);
              
            }


Это сообщение отредактировал(а) nmc - 8.1.2010, 20:33
PM   Вверх
jonie
Дата 9.1.2010, 02:35 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Завсегдатай
Сообщений: 5613
Регистрация: 21.8.2005
Где: Владимир

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



зря query убрали.... какой запрос (там часом table нет ?)?
и вообще в вашем кусочном коде сложно ориентироваться. Сделайте небольшой проктик, где показывается ошибка.

    Я не увидел как вы генерируете (где?) команду (SqlCommand) для Insert операции....

Это сообщение отредактировал(а) jonie - 9.1.2010, 02:36


--------------------
Что-то не поняли? -> Напейтесь до зеленых человечков... эта сверхцивилизация Вам поможет...
PM MAIL Jabber   Вверх
nmc
Дата 11.1.2010, 00:38 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


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

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



************** Текст исключения **************
System.InvalidOperationException: При обновлении не удалось найти TableMapping["Table"] или DataTable "Table".
   в System.Data.Common.DbDataAdapter.Update(DataSet dataSet, String srcTable)
   в System.Data.Common.DbDataAdapter.Update(DataSet dataSet)


Код

private void addToolStripMenuItem_Click(object sender, EventArgs e)
        {


           //  в конечном итоге передаваемый через  констркутор строка подключения
            string conn = " @Data Source=.\SQLEXPRESS;Atta....... ";
            string query = "SELECT id, login, name, password,role_id FROM users"; 
            SqlDataAdapter da = new SqlDataAdapter(query, conn);
            DataSet tab = new DataSet();
            da.Fill(tab, "users");

            /////////////////////////добавляем новые строки в таблицу
            bd1DataSet ds = new bd1DataSet();
            bd1DataSet.usersDataTable usTablr = ds.users;
            //da.Fill(usTablr);
            bd1DataSet.usersRow rowusers = usTablr.NewusersRow();
            rowusers.id = 2;
            rowusers.login = "grek";
            rowusers.name = "yty";
            rowusers.password = "1";
            rowusers.role_id = 4;
            usTablr.AddusersRow(rowusers);



            classA.InsertRowUsers(query,da,tab);
        }

//метод 
 public void InsertRowUsers(string strquery,SqlDataAdapter da, DataSet tab)
            {
                
                strquery = "INSERT INTO users (id, login, name, password,role_id ) VALUES (?, ?, ?, ?,?)";
                
                command = new SqlCommand(strquery, connection);
                SqlParameterCollection pc = command.Parameters;
                pc.Add("@id", System.Data.SqlDbType.Int, 10, "id");
                pc.Add("@login", System.Data.SqlDbType.NVarChar, 50, "login");
                pc.Add("@name", System.Data.SqlDbType.NVarChar, 50, "name");
                pc.Add("@password", System.Data.SqlDbType.NVarChar, 50, "password");
                pc.Add("@role_id", System.Data.SqlDbType.Int, 10, "role_id");

                da.InsertCommand = command;
               
                da.Update(tab);
               
              
            }


Это сообщение отредактировал(а) nmc - 11.1.2010, 00:40
PM   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Прежде чем создать тему, посмотрите сюда:
stab
mr.DUDA
Exception

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

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

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


 




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


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

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