Столбец, добавленный в .net DataTable, не добавляется в таблицу базы данных

#c# #dataset #add

#c# #набор данных #Добавить

Вопрос:

Я новичок на этом сайте, и некоторое время назад я начал программировать приложение. Прямо сейчас я застрял в проблеме, и я понятия не имею, как ее решить.

Моя проблема в том, что я хочу зарегистрировать каждого пользователя в новом столбце, потому что мне нужно сохранить большое количество данных для каждого из них (до 1000 строк). Теперь я добавляю новый столбец в уже существующую таблицу. Но дело в том, что если я хочу получить эти данные, я получаю сообщение об ошибке, в котором говорится, что столбец не называется так.

 programDataSet.User.Columns.Add(textBoxUser.Text, typeof(Int32));

for (int i = 0; i < 4 amp;amp; i < alchemieDataSet.User.Count; i  )
{
     programDataSet.User[i][textBoxUser.Text] = "1";
}

for (int i = 0; i < programDataSet.User.Count; i  )
{
     alchemieDataSet.User[i][textBoxUser.Text] = "0";
}

this.Validate();
this.userBindingSource.EndEdit();
this.tableAdapterManager.UpdateAll(this.programDataSet);
MessageBox.Show("Registration completed");
  

У кого-нибудь есть идея, что я сделал неправильно?

Комментарии:

1. Почему новый пользователь в новом столбце? для меня это звучит ужасно.

2. У меня нет другой идеи, как сохранить все эти данные, иначе у меня будет 1000 столбцов в начале

3. Нет, я почти уверен, что ваша модель базы данных неверна. Я никогда не видел смысла рассматривать пользователя как столбец — один пользователь — это на одну запись больше в таблице users. Вы можете поделиться со своей схемой базы данных, и я могу помочь вам с проектированием. Конечно, это все, что касается вашей проблемы, но начинать программирование с таблицы с 1000 атрибутами не стоит.

4. Хорошо, сначала спасибо за быстрый ответ. у вас есть какие-либо другие идеи, как я могу сохранить эти данные? Данные имеют значение true или false (1 или 0) для каждой строки, но 1000 раз?

Ответ №1:

Я согласен со всеми, что в архитектуре данных есть большие красные флажки.

Но на ваш конкретный вопрос, наборы данных и адаптеры не изменяют столбцы таблицы в целевой базе данных. Они только изменяют строки.

Вы должны обновлять столбцы отдельно.

Комментарии:

1. Ах, хорошо. Я этого не знал

2. нет проблем. Возможно, проверьте модели реляционных баз данных, если у вас будет шанс …. может быть, позже все станет проще