Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / Microsoft Access Новый топик    Ответить
 RecordSet.AddNew()  [new]
WARRI0R
Member

Откуда: Украина, Днепропетровск
Сообщений: 5
Доступ к бд через ADO

Команда.CommandText = "CREATE TABLE ..."
RecordSet = CreateObject("ADODB.RecordSet");
RecordSet = Команда.Execute; //создаем таблицу

//создаем новую запись
RecordSet.AddNew();

происходит ошибка:
ADODB.Recordset: Operation is not allowed when the object is closed.

Где грабли?

OpenRecordSet - метод Database...
Как получить доступ к объекту Database имея объект Connection? Connection.Database(...)?
26 дек 03, 11:50    [475217]     Ответить | Цитировать Сообщить модератору
 Re: RecordSet.AddNew()  [new]
Лох Позорный
Member

Откуда:
Сообщений: 9898
Ты на каком языке вообще пишешь?
И какую библиотеку пытаешься использовать?
(Database в ADO нету однако)

брррр.... бред
26 дек 03, 11:54    [475223]     Ответить | Цитировать Сообщить модератору
 Re: RecordSet.AddNew()  [new]
WARRI0R
Member

Откуда: Украина, Днепропетровск
Сообщений: 5
Пишу на 1С-ке :) через OLE....
26 дек 03, 11:58    [475228]     Ответить | Цитировать Сообщить модератору
 Re: RecordSet.AddNew()  [new]
Ден
Member

Откуда: Москва
Сообщений: 2076
>
>Доступ к бд через ADO

>Команда.CommandText = "CREATE TABLE ..."
>RecordSet = CreateObject("ADODB.RecordSet");
>RecordSet = Команда.Execute; //создаем таблицу

//создаем новую запись

RecordSet.AddNew(); - Это не может работать по определению, с
CommandText = "CREATE TABLE ...", этот запрос не возвращает рекордсета..
Надо писать

Команда.CommandText = "CREATE TABLE хх..."
RecordSet = CreateObject("ADODB.RecordSet");
Команда.Execute; //создаем таблицу
Команда.CommandText = "Select * from хх..."
RecordSet = Команда.Execute; //создаем таблицу
RecordSet.AddNew();
26 дек 03, 12:00    [475230]     Ответить | Цитировать Сообщить модератору
 Re: RecordSet.AddNew()  [new]
Лох Позорный
Member

Откуда:
Сообщений: 9898
какой-то сюр
человек, пишущий на 1С-ке, задает вопрос по ADO в форуме по аксесу...
межгалактический мегаресурс блин...

Может быть 1С помимо dbf-версии и ms sql выпустила свое чудо еще и под аксес?
26 дек 03, 12:05    [475237]     Ответить | Цитировать Сообщить модератору
 Re: RecordSet.AddNew()  [new]
WARRI0R
Member

Откуда: Украина, Днепропетровск
Сообщений: 5
Сделал так:

Команда.CommandText = "Select * FROM Константы";
Recordset = Команда.Execute;

Теперь говорит рекордсет не поддерживает изменение:

ADODB.Recordset: Current Recordset does not support updating. This may be a limitation of the provider, or of the selected locktype.

Как сделать его изменяемым?
26 дек 03, 12:10    [475250]     Ответить | Цитировать Сообщить модератору
 Re: RecordSet.AddNew()  [new]
Лох Позорный
Member

Откуда:
Сообщений: 9898
Дарагой, хочешь я тебе хелп по ADO вышлю?
Или у тебя кнопочка Ф1 сломалась на клавиатуре?
26 дек 03, 12:12    [475255]     Ответить | Цитировать Сообщить модератору
 Re: RecordSet.AddNew()  [new]
AlexJuice
Member

Откуда: Не от мира сего
Сообщений: 1413
Ключ задать, наверное... Или индекс хотя бы
26 дек 03, 12:13    [475260]     Ответить | Цитировать Сообщить модератору
 Re: RecordSet.AddNew()  [new]
Лох Позорный
Member

Откуда:
Сообщений: 9898
2 AlexJuice
Наверное ты не угадал :)
26 дек 03, 12:18    [475268]     Ответить | Цитировать Сообщить модератору
 Re: RecordSet.AddNew()  [new]
Лох Позорный
Member

Откуда:
Сообщений: 9898
ADODB.Recordset: Current Recordset does not support updating. This may be a limitation of the provider, or of the selected locktype.
26 дек 03, 12:19    [475273]     Ответить | Цитировать Сообщить модератору
 Re: RecordSet.AddNew()  [new]
Shark
Member

Откуда:
Сообщений: 2365
А кто сказал, что Create Table возвращает recordset? Я всегда думал, что это команда изменения данных, а не выборки.
26 дек 03, 12:24    [475291]     Ответить | Цитировать Сообщить модератору
 Re: RecordSet.AddNew()  [new]
Лох Позорный
Member

Откуда:
Сообщений: 9898
Шарк, ты не тормоз
26 дек 03, 12:25    [475295]     Ответить | Цитировать Сообщить модератору
 Re: RecordSet.AddNew()  [new]
Shark
Member

Откуда:
Сообщений: 2365
Я медленный газ:-), правда пропустил половину.
А че, пусть ключ добавит, в натуре:-)
26 дек 03, 12:27    [475300]     Ответить | Цитировать Сообщить модератору
 Re: RecordSet.AddNew()  [new]
АлексейК
Member

Откуда: http://www.msdatabase.ru , Moscow
Сообщений: 7683
конструкция
Recordset = Команда.Execute

создает необновляемый рекордсет
возможно если указать заранее тип курсора и блокировки то и так пройдет но лучше

Recordset.open .... , тип курсора, тип блокировки
26 дек 03, 12:27    [475301]     Ответить | Цитировать Сообщить модератору
 Re: RecordSet.AddNew()  [new]
Shark
Member

Откуда:
Сообщений: 2365
>ADODB.Recordset: Current Recordset does not support updating. This may be a limitation of the provider, or of the selected locktype.

Перевожу
recordset.locktype=3
26 дек 03, 12:30    [475307]     Ответить | Цитировать Сообщить модератору
Все форумы / Microsoft Access Ответить