#c# #winforms #data-binding #jdbc #h2
#c# #winforms #привязка данных #jdbc #h2
Вопрос:
Наше приложение должно взаимодействовать через базу данных H2 (JDBC) из .Net Framework (WinForms). У меня есть опыт программирования на C # / .Net Framework, но мне нужны некоторые рекомендации в отношении следующих проблем:
- Элементы управления пользовательского интерфейса в основном соответствуют таблицам / столбцам базы данных, поэтому использование привязки данных имеет смысл. ListBox и ComboBox имеют встроенные возможности привязки данных. Однако эти возможности не будут работать по умолчанию с имеющимся у нас источником данных (с помощью IKVM мы создали необходимую DLL для доступа к базе данных H2.Сетевая среда, но доступ осуществляется через классы java.sql.*, пример здесь). Я знаю, что мне нужно придумать пользовательский код, который обертывает вызовы Java (путем реализации некоторых интерфейсов), но я не уверен, с чего начать.
- Я нашел несколько примеров привязки данных для приложений WinForms, но в этих примерах показан один простой элемент управления с одним источником данных. Я хотел бы спросить, есть ли способ подключить несколько элементов управления к одному источнику данных (т. Е. Запросить источник данных один раз и использовать части результата в различных элементах управления; со средством обновления источника данных с изменениями в пользовательском интерфейсе). Я также не против написания пользовательских классов для этой цели, но я не знаю, с чего начать и куда идти.
Заранее спасибо за всю помощь.
Ответ №1:
Реализация ADO.NET интерфейс доступен в проекте с открытым исходным кодом H2Sharp.
Итак, вам просто нужно использовать это ADO.NET поставщик и привязка данных должны работать так же, как и с другими СУБД
Комментарии:
1. Извините за поздний ответ. Я не знаю, как я это пропустил, поскольку в своем вопросе я указал на ту же самую ссылку (но я ссылался на эту ссылку относительно использования API JDBC в .Net). Большое спасибо, что указали, что я пропустил. Я обнаружил ошибку в коде, но в остальном она отлично подходит для наших целей. Он также служит хорошим руководством о том, что делать, если нам нужно самим реализовать такой адаптер.
Ответ №2:
База данных H2 имеет режим Postgresql, который также может использовать ODBC в ограниченном объеме, что может оказать некоторую помощь, если вы хотите использовать ODBC через H2.