|
Разрешить изменение RecordSet
|
|||
---|---|---|---|
#18+
Код: vbnet 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14.
Ошибка на строке rs.Fields(0).Value: "не удается изменить свойство ActiveConnection объекта recordset с объектом command в качестве источника" Делал через метод cn.Execute - тоже не дает что-то делать с набором. Мне нужно вносить изменения в RecordSet, при этом мне не надо отправлять эти изменения на сервер - таблицы источника должны остаться в оригинале. Как тут правильно развести ситуацию? ... |
|||
:
Нравится:
Не нравится:
|
|||
18.05.2013, 09:43 |
|
Разрешить изменение RecordSet
|
|||
---|---|---|---|
#18+
Исправил CmdText = "Select * From main" rs.CursorLocation = adUseClient rs.Open CmdText, cn, adOpenDynamic, adLockPessimistic rs.Fields(0).Value = "999999" Для Rs.Open первым параметром строка, а передавать эту строку в объект Command было не нужно. Теперь другая ошибка: "Недостаточные сведения о ключевом столбце для обновления" ... |
|||
:
Нравится:
Не нравится:
|
|||
18.05.2013, 10:55 |
|
Разрешить изменение RecordSet
|
|||
---|---|---|---|
#18+
Shizuku Теперь другая ошибка: "Недостаточные сведения о ключевом столбце для обновления" PK есть в таблице ? ... |
|||
:
Нравится:
Не нравится:
|
|||
18.05.2013, 11:29 |
|
Разрешить изменение RecordSet
|
|||
---|---|---|---|
#18+
qwerty112PK есть в таблице ? Нету. Точнее он там где-то есть, но это же DBASE IV ! Там dbf и cdx, составные индексы и т.п. Отправляю SELECT и всё... Как там указать, где какое поле? Молча возвращает данные. Вот если бы можно было в самой выборке или recordset пометить ключевое поле/поля... ... |
|||
:
Нравится:
Не нравится:
|
|||
18.05.2013, 11:38 |
|
Разрешить изменение RecordSet
|
|||
---|---|---|---|
#18+
У тебя не dBase, у тебя FoxPro (возможно, даже VFP). Попробуй подключиться через другого провайдера - там, ЕМНИП, ODBC-драйвер более качественный... Код: vbnet 1. 2.
... |
|||
:
Нравится:
Не нравится:
|
|||
18.05.2013, 12:03 |
|
Разрешить изменение RecordSet
|
|||
---|---|---|---|
#18+
AndreTMУ тебя не dBase, у тебя FoxPro (возможно, даже VFP). Ну, если быть точным, то DBASE III - ранний FopxPro v2.6a Ошибка: "Не удаётся найти указанный поставщик..." ... |
|||
:
Нравится:
Не нравится:
|
|||
18.05.2013, 12:13 |
|
Разрешить изменение RecordSet
|
|||
---|---|---|---|
#18+
Ага... А какие у вас вообще ODBC-драйверы установлены? И ОСь какая? ... |
|||
:
Нравится:
Не нравится:
|
|||
18.05.2013, 13:29 |
|
Разрешить изменение RecordSet
|
|||
---|---|---|---|
#18+
AndreTM, Win8, мною дополнительно скачаны и установлены: VFPODBC.msi VFPOLEDBSetup.msi И еще MySQL ODBC, но он к этой задаче отношения не имеет ... |
|||
:
Нравится:
Не нравится:
|
|||
18.05.2013, 16:41 |
|
Разрешить изменение RecordSet
|
|||
---|---|---|---|
#18+
ShizukuWin8, мною дополнительно скачаны и установлены: VFPODBC.msi VFPOLEDBSetup.msi Отсюда ? ИМХО, вам надо качать и ставить vfpoledb.msm Ну и шерстить именно этот раздел на предмет разных видов подключений к тем самым dbf от последней версии FPD... ... |
|||
:
Нравится:
Не нравится:
|
|||
18.05.2013, 21:11 |
|
Разрешить изменение RecordSet
|
|||
---|---|---|---|
#18+
AndreTMИМХО, вам надо качать и ставить vfpoledb.msm Оттуда. А vfpoledb.msm не устанавливается (regsvr32 его не берет). Потом я вычитал, что он нужен лишь при создании инсталляторов и всякого такого... ... |
|||
:
Нравится:
Не нравится:
|
|||
18.05.2013, 22:51 |
|
Разрешить изменение RecordSet
|
|||
---|---|---|---|
#18+
Вот там было то же самое. Майские что-ли плохо проходят?.. Попробуйте запустить мой пример оттуда - если не пойдет, то проблема действительно в драйверах ODBC/OLEDB. Как помочь - не скажу даже отдаленно; у меня для работы с ADODB отдельные компы как (на которых я занимаюсь разработкой) как настроены раз - так и пашут... и да, на них фокс установлен (либо есть, либо был). Так шта Могу только посоветовать попробовать проделать "поставить-удалить" VFP9 (это недолго и небольно :)) - может, заработают драйверы. Ещё как вариант - поднять виртуальную машину с XP и на ней уже "по рельсам, по шпалам" работать с базами FPD. ... |
|||
:
Нравится:
Не нравится:
|
|||
19.05.2013, 00:48 |
|
Разрешить изменение RecordSet
|
|||
---|---|---|---|
#18+
Да, и ещё - попробуйте прокрутить проверку вот этим ... |
|||
:
Нравится:
Не нравится:
|
|||
19.05.2013, 01:01 |
|
Разрешить изменение RecordSet
|
|||
---|---|---|---|
#18+
Заодно - вот вам файлик из комплекта VFP9sp2. Закиньте его в "С:\Program Files\Common Files\System\Ole DB\" и перерегистрируйте. ... |
|||
:
Нравится:
Не нравится:
|
|||
19.05.2013, 01:34 |
|
Разрешить изменение RecordSet
|
|||
---|---|---|---|
#18+
Стоит у меня FoxPro, куда ж без него... Последний. И кстати, вопреки всем утверждениям прекрасно себя чувствует на восьмерке. Вот если Excel не осилю, придется все сначала, под лисиц, делать. Там есть отличная штука - которая CursorAdapter ... |
|||
:
Нравится:
Не нравится:
|
|||
19.05.2013, 09:20 |
|
Разрешить изменение RecordSet
|
|||
---|---|---|---|
#18+
Проблему до конца не решил, но для моей задачи неважно чтобы именно исходный курсор был "живым". И я просто переписал его содержимое в динамический (программный, виртуальный... - не знаю как правильно назвать) RecordSet, с которым уже игрался как душе угодно. Пример такого RecordSet: Код: vbnet 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18.
... |
|||
:
Нравится:
Не нравится:
|
|||
29.05.2013, 18:31 |
|
|
start [/forum/topic.php?fid=60&msg=38263660&tid=2156947]: |
0ms |
get settings: |
10ms |
get forum list: |
15ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
55ms |
get topic data: |
12ms |
get forum data: |
3ms |
get page messages: |
56ms |
get tp. blocked users: |
2ms |
others: | 280ms |
total: | 441ms |
0 / 0 |