Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > VB .NET > Подключение к базе Ассеss


Автор: morgot 16.8.2008, 19:44
проблема такова, начал осваивать базы данных на VB.net, создал базу, создал подключения OleDbConnection1, OleDbDataAdapter1 и соответсвенно DataSet1, все как в умной книжке написано, указал в тексбоксах связь с базой - работает, но вдруг проблема, пришлось добавить а access базу новые строки и тут же перестало работать. причины не нашел, пересоздал OleDbConnection1 и сопутсвующие элементы. появилась другая проблема, теперь при написании кода
 
Код

Me.OleDbDataAdapter1(KlmDataSet1, "tabl").position +=1
 1
один в один как в книжке.
выдает ошибку: "невозможно индексировать класс system.data.oledb.oledbdataadapter т.к. он не имеет свойства по умолчанию"
подскажите пожалуйста, что это подразумевает и как исправляется?


Автор: diadiavova 17.8.2008, 00:44
Свойство по умолчанию (Defaullt Property) обычно имеют коллекции, делается это для того, чтобы с коллекциями можно было работать как с массивами, то есть: если  объект Col является коллекцией, то к элементу с индексом 4 этой коллекции можно обратиться так Col.Item(4), но , учитывая, что свойство Item является Defaullt Property, можно использовать сокращённый синтаксис Col(4). Поэтому, когда после ссылки на объект идут параметры в скобках, то отладчик начинает искать Defaullt Property для типа , к которому данный объект принадлежит, и не найдя такого свойства начинает матюкаться. А о невозможности индексирования он пишет потому, что в сишарпе свойства по умолчанию называются индексаторами. 

Что касается проблем с базами данных - советую сначала разобраться с теми инструментами для работы с ними, которые любезно предоставляет в наше распоряжение Visual Studio, а отом можно и к умным книжкам переходить(если конечно в этом ещё будет необходимость).

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)