Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Delphi программирование > БД в Delphi
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 07.09.2015, 13:53   #61
Ernest027
Форумчанин
 
Регистрация: 27.04.2015
Сообщений: 437
По умолчанию

Цитата:
ни одна из добавленных НЕ ИМЕЕТ значения pointID!!!
но ведь поле PointID должно автоматом заполняться, т.к. в подчиненной таблице datasource стоит datasource главной.
Код:
Command.CommandText:='INSERT INTO Vibration (PointID, f, a, v, d) VALUES (MainTable.PointID, :f, :a, :v, :d)';
так?
Или как сделать?

Последний раз редактировалось Ernest027; 07.09.2015 в 14:02.
Ernest027 вне форума Ответить с цитированием
Старый 07.09.2015, 14:11   #62
Аватар
Старожил
 
Аватар для Аватар
 
Регистрация: 17.11.2010
Сообщений: 18,922
По умолчанию

Цитата:
поле PointID должно автоматом заполняться
С какого перепугу? В СУБД автоматом могут заполняться только автоинкрементные поля и поля имеющие умолчания. И ему чихать на клиентские ухищрения главный-подчиненный
Если бы архитекторы строили здания так, как программисты пишут программы, то первый залетевший дятел разрушил бы цивилизацию
Аватар вне форума Ответить с цитированием
Старый 07.09.2015, 14:51   #63
evg_m
Старожил
 
Регистрация: 20.04.2008
Сообщений: 5,527
По умолчанию

Цитата:
так?
и ДА и Нет!!!
Добавить еще одно поле(Как у вас) (это ДА!)
Указать еще один параметр
Код:
 (:pid, ...)
вместо неизвестного СУБД mainTable.pointID(это НЕТ!!!)
и задать значение этого параметра (видимо тем самым maintable.pointId)
программа — запись алгоритма на языке понятном транслятору
evg_m вне форума Ответить с цитированием
Старый 07.09.2015, 15:07   #64
Ernest027
Форумчанин
 
Регистрация: 27.04.2015
Сообщений: 437
По умолчанию

но в исходной таблице нет столбца PointID
Ernest027 вне форума Ответить с цитированием
Старый 07.09.2015, 15:08   #65
Ernest027
Форумчанин
 
Регистрация: 27.04.2015
Сообщений: 437
По умолчанию

Цитата:
"Брось это дело..."
Stilet, не могу бросить) ничего не получается, не получается связать эти две таблицы, но не брошу!)
Ernest027 вне форума Ответить с цитированием
Старый 07.09.2015, 15:23   #66
evg_m
Старожил
 
Регистрация: 20.04.2008
Сообщений: 5,527
По умолчанию

Цитата:
но в исходной таблице нет столбца PointID
в какой из...?!
и зачем тогда было написано ?
Цитата:
в sql string adoquery2 пишу
Код:
select * from Vibration2 where PointID=:PointID order by f
по какИМ полЯМ должна была формироваться подчиненная таблица, если то ли в главной, то ли в подчиненной НЕТ нужного поля!!!
программа — запись алгоритма на языке понятном транслятору

Последний раз редактировалось evg_m; 07.09.2015 в 15:25.
evg_m вне форума Ответить с цитированием
Старый 07.09.2015, 15:29   #67
Ernest027
Форумчанин
 
Регистрация: 27.04.2015
Сообщений: 437
По умолчанию

Поле PointID есть в обеих таблицах
Ernest027 вне форума Ответить с цитированием
Старый 07.09.2015, 15:39   #68
evg_m
Старожил
 
Регистрация: 20.04.2008
Сообщений: 5,527
По умолчанию

Цитата:
Поле PointID есть в обеих таблицах
а к чему тогда
Цитата:
но в исходной таблице нет столбца PointID
.
Так, давай чтобы не путаться РАЗДЕЛИМ два(даже ТРИ) понятия.
1. SQL-ТАБЛИЦА (Table)-- таблица(или представление) на SQL сервере, где хранятся данные (или посредством чего можно получить нужные данные
2. НАБОР ДАННЫХ (DataSet) -- TADOQuery и прочие наследники TDataSet для получения нужных данных с сервера
3. ТАБЛИЦА ОТОБРАЖЕНИЯ (Grid) -- это DBgrid (или что-то аналогичное для показа) какого-либо набора данных(DataSet).

в английском это разделяется четко (table|DataSet|Grid)
т.е. п.3 правильнее было перевести СЕТКА, но .... традиция-с .

И теперь где чего (pointID) нет (или есть) ?

P.S. для работы фильтров и связки master-detail важны пп.1-2 и абсолютно НЕважно п.3.
программа — запись алгоритма на языке понятном транслятору

Последний раз редактировалось evg_m; 07.09.2015 в 15:56.
evg_m вне форума Ответить с цитированием
Старый 07.09.2015, 15:45   #69
Ernest027
Форумчанин
 
Регистрация: 27.04.2015
Сообщений: 437
По умолчанию

У меня есть таблица в excel например или в ворде,неважно. В ней нет поля PointID, есть только f,a,v,d. Мне её нужно засунуть в БД (adoquery1 подчинённая). Но мне нужно указать к чему эта таблица принадлежит. Поэтому в adoquery2 указываю определённые значения. В adoquery 1 и 2 есть поля PointID. По ним и надо связать adoquery 1 и 2. 1 подчинённая, 2 главная.

Последний раз редактировалось Ernest027; 07.09.2015 в 15:53.
Ernest027 вне форума Ответить с цитированием
Старый 07.09.2015, 16:15   #70
evg_m
Старожил
 
Регистрация: 20.04.2008
Сообщений: 5,527
По умолчанию

Цитата:
в excel например или в ворде,неважно. В ней нет поля PointID, есть только f,a,v,d.
ради бога, нет так нет.

Цитата:
Мне её нужно засунуть в БД (adoquery1 подчинённая). Но мне нужно указать к чему эта таблица принадлежит.
вот когда засовываешь (ВИДИМО!!! тот самый insert)
то и УКАЗЫВАЙ куда (к какому pointID!!!)
НО значение ты должен указать САМ !!!
можно через Edit (если ты знаешь это значение)
Код:
parambyname('idp').value:=Edit1.Text;
можно через ТЕКУЩЕЕ положение в "master" - НАБОРЕ ДАННЫХ .
НО!!! insert НИЧЕГО не знает по ДРУГИЕ наборы данных. Поэтому ЗНАЧЕНИЕ ты должет задавать САМ (Как значение параметра)
Код:
paramByName('idp').value:=adoquery2.fieldByName('PointID);   //(или 1 что у тебя там есть рабочий набор для определения главной записи)
Цитата:
В adoquery 1 и 2 есть поля PointID.
ЧТО БЫ не было НОВЫХ глюков!!!!
СДЕЛАЙ для ВСТАВКИ еще один(!!!!) набор данных ADOQueryIns !!!! а ADOQuery1(и 2) оставь ТОЛЬКО для показа!!! (select .... )
и не трогай их!!!
Цитата:
По ним и надо связать adoquery 1 и 2. 1 подчинённая, 2 главная.
P.S. НО в ДАННОЙ версии программы(!!!) не базы данных.
В базе данных тебя МОГУТ быть данные РОВНО для ОДНОГО единственного значения PointID.
Все остальные ты при загрузке "благополучно" стираешь.!
Цитата:
Код:
delete from vibration
программа — запись алгоритма на языке понятном транслятору

Последний раз редактировалось evg_m; 07.09.2015 в 16:35.
evg_m вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Преобразование единиц измерения Zirat Microsoft Office Excel 9 29.11.2022 21:14
дана строка состоящая из групп нулей и единиц. Подсчитать количества единиц в группах с нечетным количеством символов (на Delphi) ArturBattalov Помощь студентам 1 06.10.2013 16:16
Найти байтс наибольшим числом единиц и найти байт с наибольшим чилом нулей. Найти разность число единиц м Beren42 Assembler - Ассемблер (FASM, MASM, WASM, NASM, GoASM, Gas, RosAsm, HLA) и не рекомендуем TASM 0 14.12.2010 17:44
Конвертер денежных единиц vmilyoshin Помощь студентам 6 16.04.2010 11:07
Найти сумма единиц Bayram_662 Паскаль, Turbo Pascal, PascalABC.NET 6 22.10.2009 22:11