none
Добавление нового столбца в таблицу RRS feed

  • Вопрос

  • Добрый день. Такой вопрос - есть DataSet, сгенерированный из sqlDataAdapter, связывающий соотвественно полученный dataSet с БД. Затем к DataSet был добавлен новый столбец программно, но, сгенерировав через SqlCommandBuilder команду Update() и вызвав ее, столбец не добавился в БД на сервере. Подумал, может быть нужно также сгенерировать команду Insert(), но и это не помогло. Подозреваю, что проблема в том, что нужно как то изменить схему таблицы, которую получаю с сервера, так как сервер "не видит" нового столбца. Может быть это типичная какая то проблема, подскажите как ее решить пожалуйста ))
    • Перемещено I.Vorontsov 3 августа 2010 г. 10:19 (От:Visual C#)
    • Перемещено Siddharth Chavan 1 октября 2010 г. 21:05 MSDN Forums Consolidation (От:Технологии .NET Framework: ADO.NET, WCF, WPF etc)
    26 июля 2010 г. 8:16

Ответы

Все ответы

  • SqlCommandBuilder генерирует insert. update, delete команды.

    Alter table нужно делать самому.

    • Помечено в качестве ответа I.Vorontsov 3 августа 2010 г. 10:19
    26 июля 2010 г. 8:41
    Модератор
  • Спасибо большое. А не могли бы вы показать пример, основываясь на моем коде:

    DataColumn intC = new DataColumn("intC", Type.GetType("System.String"), "intBase+intFactorial");
    dataSet11.Tables[0].Columns.Add(intC);
    dataSet11.AcceptChanges();
    В таблице соответственно первоначально два столбца: intBase и intFactorial, оба типа System.String;

    26 июля 2010 г. 9:01
  • А чего бы интовые значения не хранить в инте?

    Со строками получается вот такая загогулиа:

    alter table tablename add intC as cast((cast(intBase as int) + cast(intFactorial as int)) as varchar)
    

    3 августа 2010 г. 7:51
    Модератор