Страница: 1 |
Страница: 1 |
Вопрос: INSERT
Добавлено: 03.09.10 19:05
Автор вопроса: goodwen
Здравствуйте, я пишу на vb6, у меня есть база данных в виде файла Excel подключённая к приложению через ADO,
Adodc1.ConnectionString = "Provider=MSDASQL.1;Persist Security Info=False;Extended Properties=DSN=Excel Files;DBQ=" & App.Path & "\meta-baza.xls;DefaultDir" & App.Path & ";DriverId=1046;MaxBufferSize=2048;PageTimeout=5;"
Сама база состоит так, на первом листе, который назван imj есть два столбца Slovo и Meta-Obj. И уже в рабочем приложение я должен ввести в TextBox какое либо слово, и оно должно добавиться к тем данным которые уже есть в столбце Meta-Obj. Я использую оператор Insert:
a=text1.text
Adodc1.RecordSource = "INSERT INTO [imj$] ([Meta-Obj]) VALUES('" & a & "')"
Adodc1.Refresh
Здесь [imj$] имя всего листа, Meta-Obj название столбца.
Запускаю, нажимаю на кнопку, где всё прописано и выдаёт ошибку:ADODС1: операция не допускается, если объект закрыт. А затем пишет: Ошибка во время выполнения программы '3704'.
Как сделать чтоб заработало?
Ответы
Всего ответов: 12
Номер ответа: 1
Автор ответа:
goodwen
Вопросов: 26
Ответов: 65
Профиль | | #1
Добавлено: 05.09.10 18:17
Мне тут упомянули, что это можно исправить с помощью Ado.command, если кто может помочь, подскажите, как это сделать?
Номер ответа: 2
Автор ответа:
Eugy
Вопросов: 0
Ответов: 73
Профиль | | #2
Добавлено: 06.09.10 01:19
INSERT INTO не возврашает записей, поэтому рекордсет закрыт
Номер ответа: 3
Автор ответа:
goodwen
Вопросов: 26
Ответов: 65
Профиль | | #3
Добавлено: 06.09.10 21:27
Eugy, я добавил в код:
Запускаю и выдаёт ошибку: "Операция не допускается если объект закрыт". Как мне это исправить?
Номер ответа: 4
Автор ответа:
goodwen
Вопросов: 26
Ответов: 65
Профиль | | #4
Добавлено: 06.09.10 21:32
Eugy, всё вроде заработало, добавил:
Спасибо за помощь.
Номер ответа: 5
Автор ответа:
goodwen
Вопросов: 26
Ответов: 65
Профиль | | #5
Добавлено: 06.09.10 21:38
Eugy, я ещё только не могу разобраться, как закрыть, у меня там есть кнопка, при нажатии на неё закрывается приложение и открывается Excel файл с базой данных, вот такой код:
и при открытии файла пишет, что файл либо повреждён, либо к нему нет доступа, это видимо из-за того. Пишу:
не помогает, как мне это исправить?
Номер ответа: 6
Автор ответа:
Eugy
Вопросов: 0
Ответов: 73
Профиль | | #6
Добавлено: 06.09.10 22:20
Значит элемент adodc еще держит соединение. Освободи.
Номер ответа: 7
Автор ответа:
goodwen
Вопросов: 26
Ответов: 65
Профиль | | #7
Добавлено: 07.09.10 13:33
Eugy, напишешь как это сделать? А то у меня не получается.
Номер ответа: 8
Автор ответа:
Eugy
Вопросов: 0
Ответов: 73
Профиль | | #8
Добавлено: 08.09.10 05:54
Set Adodc1.Recordset = Nothing
И вообще, выкини его, только место занимает.
Номер ответа: 9
Автор ответа:
goodwen
Вопросов: 26
Ответов: 65
Профиль | | #9
Добавлено: 08.09.10 10:49
Eugy, Спасибо.
Номер ответа: 10
Автор ответа:
goodwen
Вопросов: 26
Ответов: 65
Профиль | | #10
Добавлено: 29.09.10 14:09
Eugy, У меня тут небольшой вопрос появился, Вы мне с начала написали:
А затем, что лучше ado вообще удалить с формы и прописать:
Я заметил, что если в новом проекте так сделать, написать второй вариант и при этом не добавлять ado, то запускаться не будет, а если всё же добавить, запустить, а потом удалить его и снова запустить тогда работает. Так вот, я оставил на всякий случай ado на форме, перетаскиваю на другой компьютер, там VB6 установлен, но при запуске пишет, что нету файла MSADODC.OCX, неможет это быть связано? Вопрос скорее всего глупой но всё же интересно.
Номер ответа: 11
Автор ответа:
Eugy
Вопросов: 0
Ответов: 73
Профиль | | #11
Добавлено: 30.09.10 01:39
MSADODC.OCX тебе не нужен, гарантирую.
Просто при добавлении его в проект неявно для тебя добавляется также ссылка на библиотеку Microsoft ActiveX Data Object 2.X Library. Избавься от не нужного тебе элемента, а ссылку на библу выстави вручную.
Номер ответа: 12
Автор ответа:
goodwen
Вопросов: 26
Ответов: 65
Профиль | | #12
Добавлено: 30.09.10 14:15
Eugy, Спасибо за помощь.