![]() |
|
|
![]()
|
|
| SkyHawk |
|
|||
![]() Бывалый ![]() Профиль Группа: Участник Сообщений: 164 Регистрация: 17.8.2006 Где: г. Новосибирск Репутация: нет Всего: 2 |
Подскажите.
Редактирую записи с выборкой по двум полям. Хочется, чтобы была возможность отредактировать и эти два поля. Как это можно сделать. Вот текст sql-запроса, который прописан в свойстве modify компонента UpdateSQL:
то есть запрос пытается отредактировать и два поля, по которым выполняется выборка, и, естественно, ругается. А как можно все-таки победить? И еще вопрос: как можно внешнюю переменную программы передать в запрос SQL? --------------------
Быть может все, что может быть, И даже то, что быть не может. |
|||
|
||||
| SenkraD |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 933 Регистрация: 3.2.2006 Где: Украина::Киев Репутация: 3 Всего: 23 |
Сформулируй запрос руками и потом передай нужному свойству, не помню как оно зовётся. Или передавай значение этой переменной в какой-нибудь параметр. А по основной проблеме: если это поля одной таблицы, а я вижу оно так и есть, то достаточно у компонента TQuery установить в true свойтво RequestLive. И ещё вопрос: какая СУБД? |
|||
|
||||
| SkyHawk |
|
|||
![]() Бывалый ![]() Профиль Группа: Участник Сообщений: 164 Регистрация: 17.8.2006 Где: г. Новосибирск Репутация: нет Всего: 2 |
Блин... Не догадался... Действительно говорят: все гениальное - просто.
СУБД использую BDE. Но архитектура не клиент-сервер. Просто приложение, которое обращается к локальной таблице. Спасибо, буду пробовать. --------------------
Быть может все, что может быть, И даже то, что быть не может. |
|||
|
||||
| SkyHawk |
|
|||
![]() Бывалый ![]() Профиль Группа: Участник Сообщений: 164 Регистрация: 17.8.2006 Где: г. Новосибирск Репутация: нет Всего: 2 |
Ни фига не получается.
Поставил RequestLive=true. Говорит: Update Failed. Причем именно на эти два поля. Когда редактирую остальные, принимает изменения нормально. И еще. Вместо формата Paradox посоветовали формат Access - быстрее работает. Как можно подружить Access и BDE, не используя псевдонимов (чтобы не приходилось бегать настраивать каждую тачку в сети). Наверняка ведь есть такая возможность. Это сообщение отредактировал(а) SkyHawk - 3.5.2007, 12:56 --------------------
Быть может все, что может быть, И даже то, что быть не может. |
|||
|
||||
| SenkraD |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 933 Регистрация: 3.2.2006 Где: Украина::Киев Репутация: 3 Всего: 23 |
Воощбе с Access'ом работают через ADO, но с ADO знаком только заочно
А поля у тебя не вычесляемые? На них не стоят запреты на редактирование. P.S. ADO медленее BDE в 2 (местами в раз 200) |
|||
|
||||
| SkyHawk |
|
||||
![]() Бывалый ![]() Профиль Группа: Участник Сообщений: 164 Регистрация: 17.8.2006 Где: г. Новосибирск Репутация: нет Всего: 2 |
Ну, я пробовал компонентом Table - работает. А вот через Query не хочет. Мне тоже посоветовали через ADO. Ладно, буду Парадоксом работать - время жалко.
Нет, не вычисляемые. Тип данных полей - short int. Запретов на редактирование тоже нету. --------------------
Быть может все, что может быть, И даже то, что быть не может. |
||||
|
|||||
| Anikmar |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 2513 Регистрация: 26.11.2006 Где: Санкт-Петербург Репутация: нет Всего: 59 |
Интересно бы узнать на чем основывается данный вывод? В другом форуме мы проводили тесты по сравнению скорости. Только в 1 тесте ADO оказался медленнее и то, это был достаточно натянутый тест был. Во всех рабочих примерах ADO был шустрее, в некоторых намного (как раз порядка 200). Можно привести примеры, где BDE оказывается в 200 раз быстрее ADO? Мне даже интересно стало. |
|||
|
||||
| SenkraD |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 933 Регистрация: 3.2.2006 Где: Украина::Киев Репутация: 3 Всего: 23 |
Я сегодня вечером кину кусок статьи по этому поводу.
P.S. Я ж сказал, что знаком с ADO заочно + я и BDE не пользуюсь - смненил его на AbsoluteDB или SQLite |
|||
|
||||
| Anikmar |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 2513 Регистрация: 26.11.2006 Где: Санкт-Петербург Репутация: нет Всего: 59 |
Я базируюсь не на статьях и не на теориях. Я реально делал сравнительные тесты - где есть реальные цифры сравнения быстродействия - так как меня этот вопрос сильно волновал. Одна из причин моего отказа от BDE была именно скорость и прежде чем принять решение об отказе от BDE я проводил такое сравнение. Другой момент - если ADO использовать неправильно (вернее не совсем правильно) то может быть он и будет медленнее. Я сравнивал именно компоненты TQuery и TADOQuery. Последний однозначно победил по скорости с достаточно весомым перевесом. |
|||
|
||||
| SkyHawk |
|
|||
![]() Бывалый ![]() Профиль Группа: Участник Сообщений: 164 Регистрация: 17.8.2006 Где: г. Новосибирск Репутация: нет Всего: 2 |
Все, это конечно интересно. Сегодня я посмел знакомым сказать, что на ADO грешат, как на более медленный по сравнению с BDE, так меня чуть живьем не съели. Теперь экспериментирую с ADO в связке с Access'ом, и знаете, впечатления после BDE & Paradox такие, словно после Запорожца сел в Мерседес (не в обиду нашему автопрому
--------------------
Быть может все, что может быть, И даже то, что быть не может. |
|||
|
||||
![]()
|
| Правила форума "C++: Базы данных" | |
|
|
Данный форум предназначен для обсуждения вопросов прямым образом связанных с C++ и БД. Так, вопросы только по C++ следует задавать в C++:Общие вопросы а вопросы по абстрактным БД в Базах данных или в соответствующих под-форумах. Благодарим за понимание. Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, chipset. |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | C/C++: Базы данных | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |