Как добавить строку в СУЩЕСТВУЮЩУЮ таблицу данных

У меня есть база данных sql (agentroster.sdf) в моем решении Visual Basic 2010 Express, и я смог создать источник данных (AGENT_ROSTER) с таблицей данных. Все это работает, насколько я могу судить.

Однако я пытаюсь добавить новую строку в эту существующую таблицу данных (и, следовательно, базу данных) из ROSTER.xaml.vb, которая находится в том же проекте, что и база данных. Мне также нужно будет удалить записи и загрузить значения записей в набор переменных, которые позже будут записаны обратно после изменения. Эта система необходима для моего конкретного проекта.

Однако я не могу понять, как создать новую строку в этой СУЩЕСТВУЮЩЕЙ таблице данных. Я уже подтвердил соединения и все такое, и я не хочу создавать совершенно новое соединение поверх существующего.

Помощь?


person CodeMouse92    schedule 27.12.2010    source источник
comment
Можете ли вы дать код, который вы пробовали? Вы получаете какую-либо ошибку при попытке добавить новую строку?   -  person Devendra D. Chavan    schedule 28.12.2010


Ответы (1)


В С# вы можете сделать что-то подобное:

    var table = new DataTable();
    var row = table.NewRow();
    table.Rows.Add(row);

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

person Scott Davis    schedule 28.12.2010
comment
Спасибо. Извините, если это глупый вопрос, но как этот код узнает, что этот datatable должен основываться на списке агентов базы данных, если этот код находится в коде button_click моей формы? Мое подключение находится на глобальном уровне, то есть оно отображается на панели "Подключения к базе данных" Visual Basic 2010 Express, а не создается в коде формы. - person CodeMouse92; 29.12.2010
comment
Этот конкретный код не будет - поэтому я сказал, что таблица в приведенном выше коде по существу пуста - если вы использовали ВАШУ таблицу данных из ВАШЕГО источника данных - тогда схема таблицы данных уже установлена. извлечение новой пустой строки со всеми соответствующими столбцами из этой схемы выполняется с помощью table.NewRow(), а затем эта строка может быть добавлена ​​в вашу таблицу данных с помощью кода table.Rows.Add(row). - person Scott Davis; 30.12.2010
comment
По какой-то причине этот код не работал. Я использовал agentroster.NewRow, и он сказал, что agentroster (имя таблицы данных) не имеет этого свойства. - person CodeMouse92; 12.01.2011
comment
я использую | для разделения строк. Помните, что я объявил AGENT_ROSTER в источниках данных. КОД: Dim roster_table As New DataTable (AGENT_ROSTER) | 'Эта часть кода относится к классу события нажатия кнопки. | Dim NewRow As DataRow = roster_table.NewRow() | NewRow(DATA_NAME) = txtAgent.Text | roster_table.Rows.Add(NewRow) - person CodeMouse92; 13.01.2011