Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Начинающим";
Текущий архив: 2006.03.05;
Скачать: [xml.tar.bz2];

Вниз

Непонятки в трехзвенке   Найти похожие ветки 

 
r.o.o.t ©   (2006-02-14 10:09) [0]

Господа помогите разобраться с проблемой у меня трехзвенная архитектура БД построенная следуюшим образом

БД Access----->> RemouteDataModul ----->>> ADOTable----->>>
>>>-----DataSetProvider----->>>> -------TSoketConnection ----ClientDataSet ---->>>> DataSource----DBGrid

Так вот при получении таблиц с сервера все проходит нормально при изменении даных в сетках т.е. локальным образом таблицы в памяти тоже все проходит понятно но при сохранени данных (отправки изменений на сервре БД ) вылазиют следующие ошибки
при добавлении записи
1. Syntax error in INSERT INTO statement
при изменении записи
2. update affected more than 1 record

Ошибки происходят на сторное сервера что может быть незнаю с BDE такого небыло


 
sniknik ©   (2006-02-14 10:55) [1]

> что может быть незнаю с BDE такого небыло
BDE мог использовать порядковый номер записи в локальных таблицах, и открытие таблиц в Table имело смысл...
ADO же ориентировано только на клиент серверную архитектуру (локалные в основном тоже, но вообще зависит от провайтера данных, если он извратится...), и в общемто ему плевать на порядковый номер т.к. ни один sql сервер его не поддерживает (есть внутренние счетчики, служебная информация но это не совсем то), вместо этого главным идентификатором записи является ключь (ключевое поле), без него идентификация идет по сумме значений всех полей... которые могут задваиваться. собственно описанная ошибка это всего лиш предупреждение что под данную идентификацию попадает более одной записи и они все обновлены/либо нет возможности задать условие для вставки по той же причине (нет значащих полей. добавление методом append делается? ).

резюме:
ADOTable смени на ADODataSet, и главное добавь ключи таблицам.
p.s. ADOTable не просто смени в этом случае а забудь навсегда что есть такое. заодно можеш забыть и про ADOQuery/ADOStoredProc мысла в них нет, поделки под BDE-ные аналоги, но по сути тот же ADODataSet просто немного исковерканный.



Страницы: 1 вся ветка

Форум: "Начинающим";
Текущий архив: 2006.03.05;
Скачать: [xml.tar.bz2];

Наверх




Память: 0.45 MB
Время: 0.01 c
15-1139824720
TUser
2006-02-13 12:58
2006.03.05
Как закрыть файлы ...


2-1140185968
veb
2006-02-17 17:19
2006.03.05
Автозаполнение


1-1138612731
yaroslav
2006-01-30 12:18
2006.03.05
вопрос о ToolBar


15-1139584213
ZeFiR
2006-02-10 18:10
2006.03.05
rtl70.bpl


15-1139571443
Cerberus
2006-02-10 14:37
2006.03.05
DVD в .Avi





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский