Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > .NET Frameworks (точка нет фреймворки) > Общие вопросы .NET
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 29.09.2009, 01:38   #1
KuMa1104
Новичок
Джуниор
 
Регистрация: 23.05.2009
Сообщений: 1
По умолчанию как добавить в таблицу колонку с данными?

ADO.NET
Здраствуйте!
Столкнулся с проблемой.
Опишу всё по частям.
заданы переменные
Код:
    SqlConnection thisConnection;
        SqlCommandBuilder thisBuilder;
        DataSet thisDataSet;
        SqlDataAdapter custAdapter;
Создаём в DataSet таблицу и загружаем туда данные получаем таблю с 3-мя столбцами и множеством строк
Код:
            thisConnection = new SqlConnection(
                @"Data Source=.\SQLEXPRESS;" +
                @"AttachDbFilename='C:\SQL Server 2000 Sample Databases\NORTHWND.MDF';" +
                @"Integrated Security=True;Connect Timeout=30;User Instance=true");

            thisDataSet = new DataSet();
          
            custAdapter = new SqlDataAdapter(
                 "SELECT CustomerID , CompanyName , Address FROM Customers", thisConnection);
                       
            thisBuilder = new SqlCommandBuilder(custAdapter);
            custAdapter.FillSchema(thisDataSet, SchemaType.Source);
            custAdapter.Fill(thisDataSet, "Customers");
            //DataColumn[] keys = new DataColumn[1];
            //keys[0] = thisDataSet.Tables["Customers"].Columns["CustomerID"];
            //thisDataSet.Tables["Customers"].PrimaryKey = keys;
Теперь необходимо дополнительно из тойже самой бызы данных и находящейся в неи таблице, загрузить ещё несколько имеющихся там столбцов.
Т.е. хочу загружать данные не все сразу а по мере необходимости, я пробовал разные варианты.
В частности самый простой.
Код:
            custAdapter = new SqlDataAdapter("SELECT CustomerID ,ContactName , ContactTitle , City  FROM Customers",thisConnection);
           
            //custAdapter.MissingSchemaAction = MissingSchemaAction.Add;
            
            thisBuilder = new SqlCommandBuilder(custAdapter);
            
            custAdapter.Fill(0,thisDataSet.Tables["Customers"].Rows.Count,thisDataSet.Tables["Customers"]);
В итоге данные данные будут добавлены в конец табл.


Связано с тем что, как я понимаю не задан общий ключ.
Я пробовал эксперементировать с Primary Key и свойствами

custAdapter.MissingSchemaAction
custAdapter.MissingMappingAction

Но результат либо различные исключения, в основном
(Failed to enable constraints. One or more rows contain values violating non-null, unique, or foreign-key constraints.) и др. в зависимости от тог что я делал.

Подскажите правильный выход,что я делал не так?
Как добавить в таблицу колонку с данными?????????
KuMa1104 вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Добавить столбец в таблицу на VBA Serge_Bliznykov Microsoft Office Word 7 27.04.2009 14:04
Как добавить все поля в таблицу с кода tarakan1983 БД в Delphi 5 24.03.2009 18:14
Добавить таблицу в MS ACCESS Seqular БД в Delphi 5 21.02.2007 02:14