2010-02-26 3 views
0

Я делаю приложение VB.NET с SQL Server 2005 в фоновом режиме. Естественно, пользователь не может редактировать базу данных напрямую, но будет использовать ряд функций пользовательского интерфейса, чтобы иметь возможность добавлять и изменять данные.VB.NET - прямой доступ к базе данных

Однако есть несколько таблиц, которые должны быть легко доступны из интерфейса администратора, например, конкретной информации о поставщике. Какой самый простой способ позволить пользователю свободно редактировать эти данные? Один из способов - использовать DataGridView, но это может показаться сложным для пользователя, плюс я не уверен, когда именно сохранить отредактированные данные обратно в базу данных.

Лучший способ, который я могу придумать, - создать пользовательские диалоговые окна для добавления, удаления и изменения информации, но это кажется слишком большой работой для такой небольшой функции.

ответ

1

Вам либо придется предоставить данные в формате таблицы (например, с помощью DataGridView), либо вам нужно будет создать что-то, что позволяет редактировать отдельные записи (например, пользовательские формы). Кажется, что много работы (и это может быть), но есть некоторые способы сократить объем работы.

Проверьте, как использовать привязку данных в VB.NET. Там есть учебник here, еще один here и многие другие. Вы можете использовать привязку данных как для табличного представления, так и для отдельных записей. Использование DataGridView не слишком сложно для пользователя, если вы создаете необходимую поддержку в коде - убедитесь, что строка сохранена, если она была изменена, и они перемещаются в другую строку (или запрашивают их), отключают редактирование по столбцам что они не должны меняться, проверять данные перед их записью обратно в базу данных и т. д.

Существуют также инструменты генерации кода, такие как CodeSmith, которые могут создавать уровень доступа к данным между графическим интерфейсом и базой данных. Некоторые из шаблонов, которые вы можете получить, даже создадут реальные формы для вас.

Единственный другой вариант, о котором я могу думать, - предоставить им прямой доступ к базе данных с помощью таких инструментов, как SQL Server Management Studio и настройки логинов, которые имеют разрешение только на определенные таблицы/представления, но я бы настоятельно рекомендовал это.

+0

Да, я могу добавить привязку данных к datagridview или отдельным полям, вопрос в том, когда лучше всего запустить метод TableAdapter.Update. На CellLeave, CellValidated или при нажатии кнопки сохранения. – MatsT

+0

Я бы рекомендовал либо сохранить запись, либо когда пользователь закончил редактирование строки, и переместился в другую строку (или какой-либо другой элемент управления за пределами таблицы) с помощью события RowLeave или позволил им изменить несколько строк, а затем щелкнуть по кнопке «Сохранить». Если вы используете опцию Сохранить кнопку, убедитесь, что вы проверяете любые отредактированные строки перед закрытием формы. – TLiebe

Смежные вопросы