newcoder1 Ответов: 2

Вставка данных из datagridview в таблицу доступа


У меня есть этот datagridview, строки которого добавляются вручную одним нажатием кнопки...и я наследую класс к его столбцу, чтобы сделать его ячейкой datatimepicker.мне нужно вставить его в базу данных без необходимости сначала извлекать его из базы данных

Что я уже пробовал:

чтобы вставить его строка за строкой по команде excutenonquery

[no name]

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

Karthik_Mahalingam

опубликуйте код.

2 Ответов

Рейтинг:
2

Wendelius

Если я правильно понял вопрос, вы могли бы
- Вместо того чтобы заполнять datatable из базы данных, определите таблицу данных, имеющую желаемую структуру, соответствующую вашему datagridview (и вашей фактической таблице)
- привязать datatable к datagridview
- вносить изменения в datatable (пользователем)
- использовать объект oledbdataadapter, чтобы отразить изменения из объекта DataTable к базе данных Access.

Взгляните на следующую статью: Как привязать данные к элементу управления Windows Forms DataGridView[^] Он использует классы Sql Server, такие как SqlCommand или SqlConnection, но вместо этого вы, вероятно, будете использовать OleDbCommand и OleDbConnection и т. д. В противном случае это должно помочь вам начать.


Maciej Los

Хорошее предложение. 5ед!

newcoder1

ваше решение не сработает в моем случае
потому что если я привязываю datatable к datagridview, то я не могу использовать какой-либо элемент управления, который я унаследовал от datagridview

Wendelius

Не совсем понимаю, что ты имеешь в виду. Можете ли вы опубликовать пример кода

Wendelius

В качестве дополнительной информации приведем пример использования пользовательского столбца с datagridview. Это не должно влиять на привязку данных Как: элементы управления хостом в ячейках Windows Forms DataGridView[^]

newcoder1

ладно Мика вот в чем дело
я приготовлю стол
затем я заполняю его схемой из базы данных
тогда я свяжу его в элемент управления datagridview.источник данных dataSource=таблица
поэтому после привязки>>> Если я хочу добавить новую строку в datagridview с помощью кода, я не смогу
я не смогу использовать такой код( элемента управления datagridview.строк.добавить)
вместо этого это будет код bindingsource
так что это будет похоже на bindingsource. addnew()

и это проблема, когда я использую bindingsource.addnew (), он не добавит пользовательские coulmns datagridview

он добавит только обычную строку, которая появится в datagridview, так как она привязана к datatable

понял?

попробуйте сами

Wendelius

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

Однако я не уверен, что вы имеете в виду, что код не будет добавлять пользовательские столбцы. Количество столбцов обычно статично. Я так понимаю, вы имеете в виду, что вы не можете использовать пользовательский редактор для ячейки в пользовательском столбце для новой добавленной строки. Для этой проблемы, пожалуйста, обратитесь к примеру, который я опубликовал в предыдущем комментарии. Это должно объяснить, как вы можете использовать настраиваемый редактор для данных в конкретной ячейке.

newcoder1

дайте мне пример кода для того, что вы говорите, пожалуйста

Рейтинг:
0