|
Проблемы с CursorAdapter'ом
|
|||
---|---|---|---|
#18+
Помогите плиз! разбираюсь с CursorAdapter'ом. Создаю КАД. Таблица находится в БД на MySQL. Считываю данные, вывожу в грид, потом добавляю записи и пытаюсь их сохранить на сервере, но они не сохраняются. Полазил по форумам, посмотрел хелпы и различные статьи но не могу понять в чем дело(((( вот фрагмент кода: CA = CREATEOBJECT('CursorAdapter') WITH CA .Alias = "TestSql" .DataSourceType = "ODBC" .DataSource = RegConnect .SelectCmd = "SELECT id_offices, ofName FROM oms.offices" .Tables = "oms.offices" .BufferModeOverride = 5 .usetransactions = .f. .AllowInsert = .T. UseCursorSchema = .T. .CursorSchema="id_offices CHARACTER(10), ofName CHARACTER(50)" .KeyFieldList = "ID_Offices" .UpdateNameList = "ID_offices offices.ID, ofName offices.Name" .UpdatableFieldList = "id_offices, ofName" ENDWITH CF = CA.CursorFill() INSERT INTO (CA.Alias)(id_offices, ofName) SELECT offices.id, offices.Name FROM offices TABLEUPDATE(1, .T., CA.Alias) ... |
|||
:
Нравится:
Не нравится:
|
|||
01.11.2012, 16:19 |
|
Проблемы с CursorAdapter'ом
|
|||
---|---|---|---|
#18+
Что-то непонятное. Разве в MySQL можно писать значение в поле индекса? ... |
|||
:
Нравится:
Не нравится:
|
|||
01.11.2012, 18:43 |
|
Проблемы с CursorAdapter'ом
|
|||
---|---|---|---|
#18+
Код: sql 1. 2. 3. 4. 5. 6. 7.
... |
|||
:
Нравится:
Не нравится:
|
|||
01.11.2012, 19:14 |
|
Проблемы с CursorAdapter'ом
|
|||
---|---|---|---|
#18+
на MySQL поле id_offices символьное и заполняется вручную. ... |
|||
:
Нравится:
Не нравится:
|
|||
01.11.2012, 20:15 |
|
Проблемы с CursorAdapter'ом
|
|||
---|---|---|---|
#18+
в литературе говорится что TABLEUPDATE() Обновляет записи имеющие пометку для обновления, возможно такое что те записи которые я INSERT'ом добавляю не отмечаются как записи для обновления? ... |
|||
:
Нравится:
Не нравится:
|
|||
01.11.2012, 20:17 |
|
Проблемы с CursorAdapter'ом
|
|||
---|---|---|---|
#18+
ВладимирМ, TABLEUPDATE() Возвращает .T. ... |
|||
:
Нравится:
Не нравится:
|
|||
02.11.2012, 09:03 |
|
Проблемы с CursorAdapter'ом
|
|||
---|---|---|---|
#18+
Иухенио, Похоже, все дело в установке .usetransactions = .f. В этом случае курсорадаптер отключает механизм автоматических транзакций и управлять транзакциями нужно "вручную" через API драйвера ODBC. А если нет явного завершения транзакции, то не будет и записи изменений. ... |
|||
:
Нравится:
Не нравится:
|
|||
02.11.2012, 15:22 |
|
Проблемы с CursorAdapter'ом
|
|||
---|---|---|---|
#18+
Я убрал эту установку, результат не изменился((( ... |
|||
:
Нравится:
Не нравится:
|
|||
02.11.2012, 15:47 |
|
Проблемы с CursorAdapter'ом
|
|||
---|---|---|---|
#18+
Иухенио, Еще настораживает: .UpdateNameList = "ID_offices offices.ID, ofName offices.Name" по идее должно быть: .UpdateNameList = "ID_offices offices.ID_offices, ofName offices.ID_offices" По HELP-у список UpdateNameList должен состоять из пар локальных имен и полных имен полей удаленного источника. Полное имя поля удаленного источника появляется в виде <имя таблицы удаленного источника>. <имя поля таблицы удаленного источника> где <имя таблицы удаленного источника> соответствует имени из свойства Tables. ... |
|||
:
Нравится:
Не нравится:
|
|||
02.11.2012, 16:43 |
|
Проблемы с CursorAdapter'ом
|
|||
---|---|---|---|
#18+
Спасибо большое! Действительно ошибка заключалась именно в этом свойстве, неправильно указал поля для обновления. У меня было 2 таблицы, одна на сервере, другая локальная, из локальной копировались данные в курсор адаптер и соответственно на сервер, я подумал что в этом свойстве (UpdateNameList) нужно указывать поля локальной таблицы и поля таблицы на сервере, а оказывается не локальной таблицы, а поля курсора нужно было указать. Теперь все отлично работает! Спасибо за помощь! ... |
|||
:
Нравится:
Не нравится:
|
|||
06.11.2012, 10:11 |
|
|
start [/forum/topic.php?fid=41&fpage=49&tid=1583352]: |
0ms |
get settings: |
9ms |
get forum list: |
12ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
39ms |
get topic data: |
10ms |
get forum data: |
3ms |
get page messages: |
43ms |
get tp. blocked users: |
2ms |
others: | 304ms |
total: | 428ms |
0 / 0 |