Найдено 46 результатов

fmcoder
11 дек 2007, 03:03
Форум: Общие проблемы
Тема: Не обновляется detail таблица... И получаю FOREIGN KEY vio..
Ответы: 4
Просмотры: 3872

Спасибо всем за ответы! Проблема решена, статьи, приведенные kdv действительно помогли :)
fmcoder
07 дек 2007, 19:41
Форум: Общие проблемы
Тема: Не обновляется detail таблица... И получаю FOREIGN KEY vio..
Ответы: 4
Просмотры: 3872

Да я уже читал... Создана одна транзакция и внесена в св-ва компонентов fibplus (Transaction и UpdateTransaction). У датасетов также установлено св-во AutoCommit. Если запустить программу 2 раза, в одной из них добавить запись, в другой - ее использовать то все нормально. Если же использовать ее в т...
fmcoder
07 дек 2007, 18:38
Форум: Общие проблемы
Тема: Не обновляется detail таблица... И получаю FOREIGN KEY vio..
Ответы: 4
Просмотры: 3872

Не обновляется detail таблица... И получаю FOREIGN KEY vio..

Что то не пойму в чем может быть дело. Есть detail таблица, добавляем в нее новую запись: DataSet.Insert; DataSet.FieldValues[...] := ... DataSet.FieldValues['id'] := xxx; DataSet.Post; Затем в master делаю MDS.FieldValues['det_id'] := xxx; //тоже значение что и выше для только что добавленной запис...
fmcoder
23 ноя 2007, 20:02
Форум: Проектирование БД и запросов
Тема: Выбрать одну случайную строку
Ответы: 14
Просмотры: 10077

WildSery писал(а):
fmcoder писал(а):пишу в Delphi, там подсветки SQL кода в строковых переменных нет.
:shock: а ты его прямо в Delphi пишешь?
Я его туда только вставляю после проверки и отладки.
Да :), а где еще можно? Проверка и отладка выполняется после запуска самой программы.
fmcoder
21 ноя 2007, 00:50
Форум: Проектирование БД и запросов
Тема: Выбрать одну случайную строку
Ответы: 14
Просмотры: 10077

не совсем корректно. корректно. Двойные кавычки дают указанные проблемы. Если не согласен - докажи обратное. Я в курсе, что двойные кавычки в третьем диалекте были придуманы в IB 6.0. Однако пока ничего кроме проблем от них нет. Тут скорее не проблемы, а особенности работы... Я привык их везде писа...
fmcoder
11 ноя 2007, 18:08
Форум: Проектирование БД и запросов
Тема: Выбрать одну случайную строку
Ответы: 14
Просмотры: 10077

ОК, с pk и fk разобрались И дальше советую разрабатывать без идиотских двойных кавычек. http://www.ibase.ru/ibfaq.htm#dtproblem Про это я знаю, кажется это описано в release notes, т.е. это штатное поведение системы. И наверное название парагрфа "Проблема с именами объектов в двойных кавычках в 3-ем...
fmcoder
06 ноя 2007, 17:32
Форум: Проектирование БД и запросов
Тема: Выбрать одну случайную строку
Ответы: 14
Просмотры: 10077

Re: Выбрать одну случайную строку

select first 1 skip :RAND * from ... В параметр :RAND на клиенте пихаешь случайное целое число от нуля до количества записей в таблице минус одну. И не надо никаких order by. Спасибо, заработало! kdv - нет, это не лотерея. Это что-то вроде плеера в случайном режиме воспроизведения. А почему уникаль...
fmcoder
05 ноя 2007, 23:55
Форум: Проектирование БД и запросов
Тема: Выбрать одну случайную строку
Ответы: 14
Просмотры: 10077

Ну как везде пишут (в темах, посвященных этому вопросу): select ... order by rand() Т.е записи отсортируются по случайному значению... Вроде как это то что надо, но очень хочется обойтись без UDF. Еще, я так понимаю, чтобы ограничить кол-во возвращаемых записей, нужно использовать first(1)? UPD Да, ...
fmcoder
05 ноя 2007, 22:16
Форум: Проектирование БД и запросов
Тема: Выбрать одну случайную строку
Ответы: 14
Просмотры: 10077

Выбрать одну случайную строку

Задача проста - выбрать одну случайную строку из таблицы.
В таблице нет PK, поэтому просто сделать в программе random id не получится.
Также, не хотелось бы использовать udf.
Вроде, такое должно как-то решаться средствами сервера... Но что-то я не нашел.
Помогите, пожалуйста.
fmcoder
15 окт 2007, 20:59
Форум: Визуальные компоненты + данные
Тема: Вопрос про обновление данных в гриде
Ответы: 9
Просмотры: 12949

Спасибо за помощь. Только начал с этим всем работать, поэтому пока немного не в теме. Те несколько записей редактируются не в гриде - они только выделяются в гриде (этим самым пользователь изъявляет желание редактировать именно эти записи). Редактируются же записи в отдельном окне, а изменения пропи...
fmcoder
15 окт 2007, 16:18
Форум: Визуальные компоненты + данные
Тема: Вопрос про обновление данных в гриде
Ответы: 9
Просмотры: 12949

А как тогда обновить несколько записей разом?
fmcoder
15 окт 2007, 14:07
Форум: Визуальные компоненты + данные
Тема: Вопрос про обновление данных в гриде
Ответы: 9
Просмотры: 12949

Рефрешит только текущую запись, хотя в RefreshSQL указано "where (id=x) or (id=y) or ... ".

UPD нет, все таки не рефрешит... Удивительно.
fmcoder
15 окт 2007, 12:34
Форум: Визуальные компоненты + данные
Тема: Редактирование одновременно нескольких записей
Ответы: 6
Просмотры: 9338

Да, формируется запрос в updatesql "update ... set ... where (id=x) or (id=y) or ... ". Но это не работает. А у меня работает. Даже когда не multiselect, а "квадратиком", freeselect так сказать, выделяешь. Может, стоит показать, как ты делаешь, вместо того, чтобы твердить "так не работает"? Извини,...
fmcoder
15 окт 2007, 12:30
Форум: Визуальные компоненты + данные
Тема: Вопрос про обновление данных в гриде
Ответы: 9
Просмотры: 12949

Dimitry Sibiryakov писал(а):А грид привязан именно к этому датасету?
Да, конечно.
kdv писал(а):1. что за DataSet?
2. если это ibx, см. www.ibase.ru/devinfo/ibx.htm , на тему RefreshSQL
1. Обычный DataSet... TpFIBDataSet, AutoCommit=True, остальное в общем по умолчанию.

2. Использую FibPlus. Refresh как я уже писал не работает.
fmcoder
15 окт 2007, 01:43
Форум: Визуальные компоненты + данные
Тема: Вопрос про обновление данных в гриде
Ответы: 9
Просмотры: 12949

Вопрос про обновление данных в гриде

Наверное это очень просто делается, но у меня что-то не получилось... Есть контрол, не DB-aware, например, обычный Edit. При редактировании данных в нем вызывается такая функция: DataSet.Edit; DataSet.FieldValues[fieldName] := Edit.Text; Т.е. обновляется соответствующее едиту поле. Рядом лежит DBGri...
fmcoder
15 окт 2007, 01:27
Форум: Визуальные компоненты + данные
Тема: Редактирование одновременно нескольких записей
Ответы: 6
Просмотры: 9338

Да, формируется запрос в updatesql "update ... set ... where (id=x) or (id=y) or ... ". Но это не работает. И даже датасет не матерится :( По идее, все довольно просто, есть список ID записей, которые нужно изменить, и есть окно с контролами (TDBxxx), в которых данные - остается только сделать запро...
fmcoder
14 окт 2007, 19:53
Форум: Визуальные компоненты + данные
Тема: Редактирование одновременно нескольких записей
Ответы: 6
Просмотры: 9338

Я сделал так в UpdateSQL у датасета, но все равно редактируется только одна запись...
Может этот запрос надо где-то из другого места вызывать? Неужели у каждого контрола в событии на изменение значения?
fmcoder
13 окт 2007, 22:56
Форум: Визуальные компоненты + данные
Тема: Редактирование одновременно нескольких записей
Ответы: 6
Просмотры: 9338

Редактирование одновременно нескольких записей

Здравствуйте, уважаемые. Можно ли сделать сабж? Т.е. у меня есть грид, с Multiselect, также есть например DBLookupComboBox связанный с тем же датасетом, что и грид. Хочется сделать так, что когда пользователь выделяет несколько записей, меняет значение в комбобоксе и в итоге это значение автоматом м...
fmcoder
10 окт 2007, 19:02
Форум: Проектирование БД и запросов
Тема: Использование различных языков в значениях текстовых полей
Ответы: 10
Просмотры: 7712

Как выясгнилось, проблема была не в дельфях и гриде - у Database в ConnectParams стояла кодировка UTF8. Поставил none и все стало работать как надо.
fmcoder
10 окт 2007, 00:04
Форум: Проектирование БД и запросов
Тема: Использование различных языков в значениях текстовых полей
Ответы: 10
Просмотры: 7712

Все таки непонятно при чем тут delphi? Единственное, что можно сделать покрутить charset, я менял по разному толку ноль. В датасете стоит InsertSQL, UpdateSQL и т.п. соответственно, редактируем в гриде, все записывается и читается нормально. Тот же запрос, но через Database.Execute('insert...' ...) ...