![]() |
![]() |
![]() |
|
Чтение MDB | ☑ | ||
---|---|---|---|---|
0
Маленький Ежик
15.12.06
✎
09:03
|
Пользуясь v8: Нужно вытащить данные из базы Access. как руководством получаю в строке
RecordSet = Command.Execute(); такую ошибку {Форма.Форма(37)}: Ошибка при вызове метода контекста (Execute): Произошла исключительная ситуация (ADODB.Command): Невозможно использование подключения для выполнения операции. Оно закрыто или не допускается в данном контексте. Ошибка выборки данных. Обработка завершена. Подключение стопудово открыто. Что еще может быть не так? Может, у кого-нибудь есть варианты? |
|||
1
Маленький Ежик
15.12.06
✎
09:29
|
неужели никто в восьмерке данные не пытался из Access'а тянуть? Не бросайте в пятницу вечером. Хочу на выходные с чистой совестью:)
|
|||
2
SKrin
15.12.06
✎
09:32
|
покажи весь код подключения
|
|||
3
Sonic
15.12.06
✎
09:32
|
(1) где фотка?:)
|
|||
4
Паладин
15.12.06
✎
09:36
|
(3) +1
|
|||
5
Маленький Ежик
15.12.06
✎
09:41
|
(2) BaseName = "C:\SPRAV.mdb";
try // Создать объект-соединение Connection = new COMObject("ADODB.CONNECTION"); Except Message(ErrorDescription()); Message("Ошибка создания COM объекта-соединения. Обработка завершена."); Return; EndTry; // Открыть базу Try ConnectString = "Driver={Microsoft Access Driver (*.mdb)};Dbq=C:\SPRAV.mdb;"; Connection.Open(ConnectString); Except Message(ErrorDescription()); Message("Ошибка подключения к базе. Обработка завершена."); Return; EndTry; // Создать объект-команду Try Command= new COMObject("ADODB.Command"); SQLCommand = "SELECT dbo_NSClients.ClientId,dbo_NSClients.ClDepId, dbo_NSClients.ClNum, dbo_NSClients.EnterpriswId, dbo_NSClients.ClName, dbo_NSClients.Adress, dbo_NSClients.Note1, dbo_NSClients.INN, dbo_NSClients.KPP FROM dbo_NSClients;"; Command.CommandText = SQLCommand; // Выборка данных Try RecordSet = Command.Execute(); // Позиционируем первую запись Try RecordSet.MoveFirst(); Except Message(ErrorDescription()); Message("Ошибка при попытке выбора первой записи. Обработка завершена."); Return; // Ну на самом деле это может быть и не ошибка, а просто нет записей для данного запроса EndTry; // тблНоменклатураТВ.Очистить(); Try While RecordSet.EOF()=0 Do Стр = справочники.Контрагенты.СоздатьЭлемент(); Стр.Код = RecordSet.Fields("ClientId").Value; Стр.Наименование = RecordSet.Fields("ClName").Value; Стр.Отделение = RecordSet.Fields("ClDepId").Value; Стр.Номер = RecordSet.Fields("ClNum").Value; Стр.Предприятие = RecordSet.Fields("EntrpriseId").Value; Стр.Адрес = RecordSet.Fields("Adress").Value; Стр.ПочтовыйАдрес = RecordSet.Fields("Note1").Value; Стр.ИНН = RecordSet.Fields("INN").Value; Стр.КПП = RecordSet.Fields("KPP").Value; стр.Записать(); // Переход к следующей записи RecordSet.MoveNext(); EndDo; Except Предупреждение("Ошибка при чтении результатов запроса."); Return; EndTry; Except Message(ErrorDescription()); Message("Ошибка выборки данных. Обработка завершена."); Return; EndTry Except Message(ErrorDescription()); Message("Ошибка создания COM объекта-команды. Обработка завершена."); Return; EndTry; Command.ActiveConnection = Connection; // Создать объект-recodset Try RecordSet= new COMObject("ADODB.RecordSet"); Except Message(ErrorDescription()); Message("Ошибка создания COM объекта-набора записей. Обработка завершена."); Return; EndTry; |
|||
6
Маленький Ежик
15.12.06
✎
09:50
|
Сумбур, конечно. Не самый изящный код...
|
|||
7
SKrin
15.12.06
✎
09:53
|
откуда Command знает куда ему запрос слать?
на http://www.sinor.ru/~my1c/knowhow/accs_ado.html читай внимательно |
|||
8
Маленький Ежик
15.12.06
✎
10:07
|
(7) Один косяк уже вижу. Упс. Спасибо.
|
|||
9
Маленький Ежик
15.12.06
✎
10:36
|
Все поправила, вроде.
Теперь в строке RecordSet = Command.Execute(); вылетает в исключение говорит {Форма.Форма(63)}: Ошибка при вызове метода контекста (Execute): Произошла исключительная ситуация (Microsoft OLE DB Provider for ODBC Drivers): [Microsoft][Драйвер ODBC Microsoft Access] Слишком мало параметров. Требуется 2. Ошибка выборки данных. Обработка завершена. зы: Ежик снгодня тупой, совсем тупой...:( |
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |