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

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> [ADO] как добавить в таблицу колонку с данными? 
:(
    Опции темы
KuMa1104
Дата 28.9.2009, 17:09 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


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

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



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"]);

В итоге данные данные будут добавлены в конец табл.
user posted image
Связано с тем что, как я понимаю не задан общий ключ.
Я пробовал эксперементировать с Primary Key и свойствами 

custAdapter.MissingSchemaAction
custAdapter.MissingMappingAction

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

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






--------------------
Галактика – суровая штука. Чтобы в ней выжить, надо знать, где твое полотенце.

Время - штука относительная... а время обеда - ещё более относительная
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Прежде чем создать тему, посмотрите сюда:
stab
mr.DUDA
Exception

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

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

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


 




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


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

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