Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Базы данных под .NET > Не обнавляет базу


Автор: VisMaster 2.11.2007, 15:20
Здравстуйте.

Возникла проблемма, не могу найти почему не работает:

Код

  string select1 = "SELECT ID, Fild FROM IDTable";

using (SqlConnection conn = new SqlConnection(constr.ToString()))
            {
                conn.Open();
                SqlDataAdapter da = new SqlDataAdapter(select1,conn);
                DataSet ds = new DataSet();
                da.Fill(ds,"IDTab");

                DataRow rrr1 = ds.Tables["IDTab"].NewRow();
                rrr1[0] = 777;
                rrr1[1] = 7777;
                ds.Tables["IDTab"].Rows.Add(rrr1);

               da.Update(ds,"IDTab");//вот здесь выскакивает исключение 
               conn.Close();
           }


Может кто знает в чем проблема, вот текст исключения 
Цитата

Update requires a valid InsertCommand when passed DataRow collection with new rows.


Заранее благодарен...

Автор: Walker 2.11.2007, 16:14
Эээ... Дык, что обновлять-то пытаемся? У Вас для выполнения Update() не сформирован INSERT(для вашего случая), UPDATE или DELETE SQL-запрос к базе.

Автор: VisMaster 2.11.2007, 17:16
Цитата

Дык, что обновлять-то пытаемся?


Я изменил строку в  data table, а теперь хочу добавить ее в БД которая на сервере. 

Цитата

 У Вас для выполнения Update() не сформирован INSERT(для вашего случая), UPDATE или DELETE SQL-запрос к базе.


А как его сформировать?

Автор: thomas 2.11.2007, 17:24
VisMaster, 
Привет.
Попробуй прикрутить SqlCommandBuilder, примерно так:
Код

cmdBuild = new SqlCommandBuilder(dbDa);
dbDa.InsertCommand = cmdBuild.GetInsertCommand();
dbDa.Update(ds.Tables[dsNm]);

Автор: VisMaster 2.11.2007, 17:33
оооо спасибо большое thomas , сделал как ты сказал, все работает

Автор: thomas 2.11.2007, 17:36
VisMaster, 
всегда пожалуйста.  smile 

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)