Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Delphi: Базы данных и репортинг > Живые запросы в DBX через ClientDataSet


Автор: VovaTuf 28.7.2006, 11:04
Друзья, подскажите:
Раньше у меня получалось редактировать живые запросы без проблем, а сейчас что-то не получается. Может виноват upgrade который я недавно установил в Delphi 7 ? upgrade старый, испытанный, все его ставят.
Открываю таблицу в базе данных через следующие компоненты (стандартно, как предлагается в хелпах):

TSQLConnection
TSQLDataSet
TDataSetProvider
TClientDataSet

Меняю поле следующем образом:

ClientDataSet.Edit;
ClientDataSet.Fields[0].AsString := 'Привет';
ClientDataSet.Post;
ClientDataSet.ApplyUpdates(1);

При этом никаких изменений в базу не поступает (SQL Profiler молчит)
Пробовал в MSSQL2000 и в Firebird 1.5 - одинаково ничего не проходит.

Кто знает, подскажите. 
 

Автор: ТоляМБА 28.7.2006, 11:26
Селект покажи. Мы тут уже обсуждали подобное с MS SQL через ADO, тама если Distinct (или Order by - щаз не помню) делаешь, он не даёт редактировать запрос smile
 

Автор: VovaTuf 28.7.2006, 11:32
Спасибо за отклик.
Уж самый простой селект взял: одно поле из таблицы с одной записью.

select SYS_NAME from BASES where CODE=4

редактировать даёт. Изменения в базу не идут.
Выяснил: что до upgrade нормально сохраняет обычные varchar, а memo(text) не хочет;
после upgrade вообще ничего не хочет сохранять. 

Автор: ТоляМБА 28.7.2006, 12:29
1. А у тебя по этоу условию:
Цитата(VovaTuf @  28.7.2006,  11:32 Найти цитируемый пост)
where CODE=4

Выбирается только одна запись?
2. Создай таблу из двух столбцов и 10 строк с РАЗНЫМИ значениями полей (чтобы не было одинаковых записей). И попробуй отредактировать запрос:
Код

Select *
from table1

  

Автор: VovaTuf 28.7.2006, 13:01
Одна конечно. Первичный ключ.
Так и делаю.
В BDE у меня 10 лет всё прекрасно работало.
Пытаюсь на DBX уйти - в целом всё работает - и вот такое...
 

Автор: ТоляМБА 28.7.2006, 13:44
Ты что, издеваешься? Раньше так писал:
Цитата(VovaTuf @  28.7.2006,  11:04 Найти цитируемый пост)
Раньше у меня получалось редактировать живые запросы без проблем, а сейчас что-то не получается. Может виноват upgrade который я недавно установил в Delphi 7 ?

А потом оказалось, что:
Цитата(VovaTuf @  28.7.2006,  13:01 Найти цитируемый пост)
В BDE у меня 10 лет всё прекрасно работало.
Пытаюсь на DBX уйти - в целом всё работает - и вот такое...

Ты сразу не мог написать, что другим доступом к данным пользовался???  smile  

Автор: VovaTuf 28.7.2006, 15:13
Объясню:
Всегда пользовался BDE.
Два последних месяца занимаюсь тем, что перевожу свой софт на DBX.
Проблему живых update-ов решил ещё на раннем этапе переноса (кроме BLOB) и считал её действительно решённой.
На прошлой неделе поставил update для Delphi 7 (без updat-а там кое что не работало) и вчера увидел, что живые запросы не работают.
Издеваться не хотел. 

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)