|
pavel_kr |
|
|
1 |
|
|
04.01.2010, 17:07. Показов 7665. Ответов 4
В Borland C++6 Заранее спасибо. Миниатюры
__________________ |
|
Programming Эксперт 94731 / 64177 / 26122 Регистрация: 12.04.2006 Сообщений: 116,782 |
04.01.2010, 17:07 |
|
4 |
|
99 / 99 / 19 Регистрация: 29.12.2009 Сообщений: 204 |
|
|
04.01.2010, 17:11 |
2 |
|
м.б. Form1->Query1->DataSource указан Form1->DataSource1? так делать не надо
0 |
|
pavel_kr |
|
|
04.01.2010, 18:13 |
3 |
|
А как надо? Это код из книжки. |
|
99 / 99 / 19 Регистрация: 29.12.2009 Сообщений: 204 |
|
|
04.01.2010, 18:35 |
4 |
|
приведи весь код, посмотрим, что там не так, и как надо
0 |
|
0 / 0 / 0 Регистрация: 22.06.2015 Сообщений: 1 |
|
|
22.06.2015, 16:36 |
5 |
|
В Borland C++6 Заранее спасибо. Выбери Query1 (в «обжект инспекторе» или на форме) и найди в его свойствах DataSource, там должно быть пусто. Если там записано DataSource1, то возникает ошибка.
0 |
← →
Kostafey ©
(2007-04-04 22:23)
[0]
Выдает при изменении ширины поля в сетке (runtime).
Если сетку заново сделать — бесполезно.
ADODataSet новый сделать внутри DataModule — то же самое.
ADODataSet новый сделать на той же форме где и сетка — все работает хорошо.
2 часа разбираюсь не могу понять почему так?
![]()
![]()
← →
LA33
(2007-04-04 22:25)
[1]
У сети какая ячея?
![]()
![]()
← →
LA33
(2007-04-04 22:25)
[2]
Интерисует размер, подозреваю, что сороковка…
![]()
![]()
← →
Kostafey ©
(2007-04-04 22:29)
[3]
Ячейки разные. В среднем около 20.
![]()
![]()
← →
LA33
(2007-04-04 22:34)
[4]
Kostafey © (04.04.07 22:29) [3]
У рыбнадзора справки все взял? А то там в разные периоды, разные проблемы могут быть.
![]()
![]()
← →
Kostafey ©
(2007-04-04 22:34)
[5]
Вообще история болезни такая.
Сначала понаделал для сетки колонок с привязками к полям датасета.
(это для того, чтобы задать DisplayLabel и DisplayWidth)
Потом думаю, зачем ерундой заниматься. Сделал у датасета TXXXFields
для всех полей таблицы. И в инх уже и задавал DisplayLabel и DisplayWidth.
А в сетке все колонки удалил.
Вот с тех пор и пошли такие ошибки как пытаешься иземнить ширину колонки.
Я даже не поленился все то же самое в том же порядке проделать для пустого проекта
с нуля — не возникает такой ошибки…
![]()
![]()
← →
Kostafey ©
(2007-04-04 22:37)
[6]
Добавляю в сетку колонки — ошибка исчезает.
Правда мне это колонки нужны сейчас как летом валенки.
Вот еще что смешно: делаю в в этом же основном проекте новую форму
на ней сетку. Сеткой подключаюсь к дому же датасету — та же самя ошибка
WTF!
![]()
![]()
← →
LA33
(2007-04-04 22:38)
[7]
:))
![]()
![]()
← →
Kostafey ©
(2007-04-04 22:38)
[8]
> [2] LA33 (04.04.07 22:25)
Ну что вы с сеткой возитесь.
Удочкой слабо чтоль?
![]()
![]()
← →
LA33
(2007-04-04 22:41)
[9]
Что за сетка? какие колонки? какая рыба? какая музыка?
Вы сами себе на уме (видимо творческий захлеб). Ну хоть, какой компонент эта сетка, скажите :)))
![]()
![]()
← →
Kostafey ©
(2007-04-04 22:47)
[10]
> [9] LA33 (04.04.07 22:41)
:))))))))))))))))))))
Мде есть маленько с 11 часов за компом.
Сетка это TDBGrid.
Колонки это TColumn.
![]()
![]()
← →
LA33
(2007-04-04 22:53)
[11]
Kostafey © (04.04.07 22:47) [10]
> [9] LA33 (04.04.07 22:41)
:))))))))))))))))))))
Мде есть маленько с 11 часов за компом.
Сетка это TDBGrid.
Колонки это TColumn.
Я с 1-часа ночи, сегодня, релиз выпускали, часов в 21 выпустили, пивко попиваем. Про TDBGrid ничего не скажу, т.к. использую DevExpress`овские компоненты.
А вот про сеть не сдержался :))
PS: я не оффтопил(offtop), я упал(up).
🙂
![]()
![]()
← →
Kostafey ©
(2007-04-04 22:56)
[12]
Не я просто что думаю.
Где корень всех зол зарыт ?
В DataModule. Не иначе.
![]()
![]()
← →
Kostafey ©
(2007-04-04 22:59)
[13]
Ладно. Пойду модуль данных убивать.
![]()
![]()
← →
Johnmen ©
(2007-04-04 23:18)
[14]
> Где корень всех зол зарыт ?
Как обычно, в 17 строке.
Ибо образовалась закольцованная ссылка в компоненте набора данных.
![]()
![]()
← →
Kostafey ©
(2007-04-04 23:28)
[15]
> Как обычно, в 17 строке.
просто интересно, а от куда это пошло про 17-ю строку
> Ибо образовалась закольцованная ссылка в компоненте набора
> данных.
Нет там никакой закольцованности.
В наборе данных простая таблица.
Сделал модуль данных с нуля (не весь, а только необходимую его часть).
Поднял из архива ту версию формы, где я еще колонки не добавлял.
Компилирую — та же самая ошибка !!!
Ну что за плин.
Так и придется оставлять эти самые чертовы колонки.
![]()
![]()
← →
Johnmen ©
(2007-04-04 23:53)
[16]
> Нет там никакой закольцованности.
Есть. О чём и говорит Circular datalinks are not allowed.
Т.е. один НД ссылается на второй, а второй на первый.
Или одно поле ссылается на другое в том же НД.
![]()
![]()
← →
Kostafey ©
(2007-04-05 01:18)
[17]
> [16] Johnmen © (04.04.07 23:53)
Говорю ведь. Удалил я модуль данных. Вообще удалил.
Новый сделал.
Кинул на него набор данных (ADODataSet) тот из которого указанная сетка данные берет.
Набор данных — суть таблица. Даже Lookup-полей нет. Просто 1 таблица из БД.
С ним DataSource связал, его с сеткой.
Результат тот же.
Если размеры колонок в сетке начать мышкой двигать — ошибка вылетает.
Делаю тот же самый датасет, но уже в самой форме с сеткой — все ОК!
Логики в этой ошибке я вообще никакой не вижу…
![]()
![]()
← →
Kostafey ©
(2007-04-05 01:44)
[18]
Вот еще одну интересную вешь заметил.
Если удалить из проекта один из модулей с формой (не удалить файл, а просто исключить из проекта),
то ошибка исчезает.
Подключаю снова — ошибка возвращается.
Этот модуть содержит DBEdit подключенный к LookUp-полю другого датасета, который берет данные в том числе
и из того DataSourse, из которого берет данные сетка, в которой возникает ошибка.
Но если удалить это LookUp-поле, DBEdit формы, то ничего не изменится. Ошибка остается.
Но опять никакой логики. Нет никакого кругового подключения. Просто один НД берет данные из другого и все.
![]()
![]()
← →
Kostafey ©
(2007-04-05 02:06)
[19]
СОХРАНЯЙТЕ В ОРЕШНИКЕ, ГДЕ ХОТИТЕ ЭТО ПРОСТО ЧУДО.
Суть вот в чем. В совершенно другой форме (не в той в которой происходила ошибка)
я кинул компонентик TLookupComboBox, начал настраивать, да и бросил, недоделав, не в нем
суть задачи. Оказывается в нем я по ошибке ListSource и DataSource настроил на один
и тот же DataSource! И именно на этот DataSource ссылалась и та сетка, в которой
происходила причина моей бессоницы.
Вроде глупость, а потерял уйму времени…
Да, и все же почему именно на 17-й строчке ? ;)))
![]()
![]()
← →
Desdechado ©
(2007-04-05 11:48)
[20]
> в нем я по ошибке ListSource и DataSource настроил на один и тот же DataSource!
О чем тебе в ошибке и сообщалось.
> почему именно на 17-й строчке ?unit Unit1;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs;
type
TForm1 = class(TForm)
private
{ Private declarations }
public
{ Public declarations }
end;
var
Form1: TForm1; // вот она, 17-я, здесь начинается код!
![]()
![]()
INTELLIGENT WORK FORUMS
FOR COMPUTER PROFESSIONALS
Contact US
Thanks. We have received your request and will respond promptly.
Log In
Come Join Us!
Are you a
Computer / IT professional?
Join Tek-Tips Forums!
- Talk With Other Members
- Be Notified Of Responses
To Your Posts - Keyword Search
- One-Click Access To Your
Favorite Forums - Automated Signatures
On Your Posts - Best Of All, It’s Free!
*Tek-Tips’s functionality depends on members receiving e-mail. By joining you are opting in to receive e-mail.
Posting Guidelines
Promoting, selling, recruiting, coursework and thesis posting is forbidden.
Students Click Here
Circular Datalinks are not allowedCircular Datalinks are not allowed(OP) 2 Feb 10 00:38 Can someone help me? I’m getting the error ‘Circular Datalinks are not allowed’ and I cannot find using de debug mode (F7) were to find the error. Is there an function in Delphi to figure out where I have make a mistake? Red Flag SubmittedThank you for helping keep Tek-Tips Forums free from inappropriate posts. |
Join Tek-Tips® Today!
Join your peers on the Internet’s largest technical computer professional community.
It’s easy to join and it’s free.
Here’s Why Members Love Tek-Tips Forums:
Talk To Other Members- Notification Of Responses To Questions
- Favorite Forums One Click Access
- Keyword Search Of All Posts, And More…
Register now while it’s still free!
Already a member? Close this window and log in.
Join Us Close
Модератор: Модераторы
SQLQuery1: Circular datasource references are not allowed
Здравствуйте, сразу предупреждаю, что я новичок.
Добавляю компоненты TSQLite3Connection, TDataSource, TSQLTransaction, TSQLQuery.
sqlite3.dll скопировал в папку проекта.
SQLite3Connection1
DatabaseName = test.sql
CharSet = UTF8
Transaction = SQLTransaction1
SQLTransaction1
Database = SQLite3Connection1
SQLQuery1
Database = SQLite3Connection1
Datasource = DataSource1
DataSource1
DataSet = SQLQuery1
Вылазит ошибка «SQLQuery1: Circular datasource references are not allowed.»
Подскажите пожалуйста, в чем мой косяк?
У вас нет необходимых прав для просмотра вложений в этом сообщении.
- mrkaban
- новенький
- Сообщения: 55
- Зарегистрирован: 28.05.2016 09:48:18
-
- Профиль
- Сайт
Re: SQLQuery1: Circular datasource references are not allowe
Снег Север » 01.09.2016 08:26:24
В SQLQuery1 убрать Datasource = DataSource1, в вашем случае там ничего не должно быть назначено
-

Снег Север - долгожитель
- Сообщения: 2857
- Зарегистрирован: 27.11.2007 16:14:47
-
- Профиль
- Сайт
Re: SQLQuery1: Circular datasource references are not allowe
DYUMON » 01.09.2016 08:49:05
я же тебе там в блоге написал ответ, хотя там ты не то написал
-

DYUMON - постоялец
- Сообщения: 234
- Зарегистрирован: 11.03.2009 13:32:54
-
- Профиль
- Сайт
- ICQ
Re: SQLQuery1: Circular datasource references are not allowe
mrkaban » 01.09.2016 09:17:02
DYUMON писал(а):я же тебе там в блоге написал ответ, хотя там ты не то написал
оо)) delphi-dev.ru? да, я опечатку допустил в комментарии.
Добавлено спустя 14 минут 20 секунд:
Re: SQLQuery1: Circular datasource references are not allowed
Убрал в SQLQuery1 Datasource = DataSource1.
добавил следующую строчку к событию нажатия по кнопке
SQLQuery1.Locate(‘Name’,’Архиватор WinRAR’,[loCaseInsensitive, loPartialKey]);
при нажатии на неё пишет «Operation cannot be performed on an inactive dataset».
Добавлено спустя 16 минут 13 секунд:
Re: SQLQuery1: Circular datasource references are not allowed
а если вместо поиска попробовать доступ к данным
SQLQuery1.Open; // открываем данные
SQLQuery1.First; // становимся на первую запись
while not SQLQuery1.EOF do // цикл пока не конец набора данных
begin
// обрабатываем данные
SQLQuery1.Next; // переходим на следующую запись
end;
SQLQuery1.Close; // закрываем данные
тогда пишет ошибку «SQL statement not set.»
PS: Отдельное спасибо за Вашу статью!!!
- mrkaban
- новенький
- Сообщения: 55
- Зарегистрирован: 28.05.2016 09:48:18
-
- Профиль
- Сайт
Re: SQLQuery1: Circular datasource references are not allowe
mrkaban » 01.09.2016 10:02:19
DYUMON писал(а):SQLQuery1.open;
Сделал
- Код: Выделить всё
SQLQuery1.Open;
SQLQuery1.Locate('Name','Архиватор WinRAR',[loCaseInsensitive, loPartialKey]);
SQLQuery1.Close;
тогда пишет ошибку «SQL statement not set.»
- mrkaban
- новенький
- Сообщения: 55
- Зарегистрирован: 28.05.2016 09:48:18
-
- Профиль
- Сайт
Re: SQLQuery1: Circular datasource references are not allowe
DYUMON » 01.09.2016 10:18:45
а ты у sqlquery добавил sql запрос в sqlquery1.sql.text:=’запрос’
-

DYUMON - постоялец
- Сообщения: 234
- Зарегистрирован: 11.03.2009 13:32:54
-
- Профиль
- Сайт
- ICQ
Re: SQLQuery1: Circular datasource references are not allowe
mrkaban » 01.09.2016 11:10:55
Всем спасибо большое, разобрались, я взял sql дамп из mysql и пытался его использовать.
Создал базу через SQLiteStudio и всё заработало!
- mrkaban
- новенький
- Сообщения: 55
- Зарегистрирован: 28.05.2016 09:48:18
-
- Профиль
- Сайт
Вернуться в Lazarus
Кто сейчас на конференции
Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 15

DBComboBox — че с ним то???
- Подписаться на тему
- Сообщить другу
- Скачать/распечатать тему
|
|
|
|
Junior
Рейтинг (т): 1 |
Да…. я когда-то на этом форуме спрашивал про DBEdit — мне сказали что он может работать только с текущей записью(карточкой) в базе. Ок, но — DBComboBox — он то чего выкалывается??? Объясняю: Нужно что б в этом DBComboBox отображались первые поля ВСЕХ записей базы! Я ставлю в DataSource — DataSource1, а внем — Table1, в котором в свою очередь сама база!(А в Datafield — Name(имя моего поля) Как так??? |
|
kalexs_uzb |
|
|
TDBComboBox — это тот же TComboBox, поэтому он не будет содержать список значений всех полей, а только текущее значение поля. |
|
Awe |
|
|
Junior
Рейтинг (т): 1 |
Я так и думал, хе вот только не понятно нафига он тогда вообще нужен! (могли бы ДБЕдитом ограничиться) А как же мне тогда сделать??? Как поступить???? |
|
kalexs_uzb |
|
|
Используй TDBLookupListBox или TDBLookupComboBox. |
Bas |
|
|
Цитата Awe, 13.07.04, 18:59 Для этого у него есть Items которое надо заполнить значениями, и то значение которое выберем из списка сохранится в поле. |
|
Awe |
|
|
Junior
Рейтинг (т): 1 |
Ok, я попробую с Items… А то этот TDBLookupComboBoх — вообще не работает! З.Ы. С++ просто не на этом компе, я попробую и скажу — вышло или нет! |
Bas |
|
|
Цитата Awe, 14.07.04, 08:55 Не забудь что еще надо KeyField,ListSources.. |
|
Awe |
|
|
Junior
Рейтинг (т): 1 |
Цитата Не забудь что еще надо KeyField,ListSources.. Вот-вот! Когда я их заполняю, то при попытки запуска программы С++ пишет ошибку…(там про то что ошибка в каком-то драйвере), а при проектирование(перед запуком) при попытке активировать Table1 — «Circular datalinks are not allowed» Ах да, про Items — такое есть и в обычном КомбоБоксе, это ведь просто для заполнения полей… Нет, я не против и так, но что тогда надо писать:
DBComboBox1->AddItems(???);
|
Bas |
|
|
Цитата Awe, 14.07.04, 09:21 Ты пытаешься связать скажем таб 1 саму с сабой , что не допустимо.
DBLookupComboBox1->DataSource=DataSource1; DBLookupComboBox1->DataField=Pole1; DBLookupComboBox1->ListSource=DataSource2; DBLookupComboBox1->KeyField=Pole1; DBLookupComboBox1->ListSource=PoleTxt;
DBComboBox1->Items->Add(«???»); Сообщение отредактировано: Bas — 14.07.04, 06:38 |
|
Sazabis |
|
|
очисть DataSource. Оставь только ListSource, выбери поле ListField, то что запонит значениями твой компонент, выбери KeyField (обычно id ), чтоб точно знать какая запись активна. |
|
Awe |
|
|
Junior
Рейтинг (т): 1 |
Стойте! Стойте! Стойте! 1. Если очистить DataSource — все равно ошибка!!! |
|
Sazabis |
|
|
Цитата Awe, 14.07.04, 11:34 ну так DataField тоже очисть Цитата Awe, 14.07.04, 11:34
DataSet->Next(); |
Bas |
|
|
Цитата Awe, 14.07.04, 10:34
Такого не должно быть , потому что этого не может быть никогда. Добавлено в 14.07.04, 11:04: Цитата Awe, 14.07.04, 10:34 ->Items->Add(); #9 |
|
Awe |
|
|
Junior
Рейтинг (т): 1 |
Ок, всем всем всем спасибо!!! Но вот, хоть может не совсем по теме — но новый топик зачем открывать?
float A; float B; try{ A = B/0} catch (…) { Application->MessageBox(«Деление на ноль», mnOK} Я пробовал catch (EDivisionbyZero), в книге написано что «…» — самое верное! А то что в MessageBox — тоже не важно(я по памяти пишу, в проге там все ок). Проблема то в том что С++ пишет типа — эта операция не подходит для типа float, и даже не смотрит на мой catch…….. как буд-то его там и не было!!! |
Bas |
|
|
Цитата Awe, 14.07.04, 16:38 А зачем делить на 0? Сообщение отредактировано: Bas — 14.07.04, 13:57 |
|
Awe |
|
|
Junior
Рейтинг (т): 1 |
Вот как написано конкретно у меня:
try{mid = summary/(all-count)} catch (…) {//bla-bla-bla;} Просто в результате подсчетов знаменатель оказался нулём! Сообщение отредактировано: Awe — 14.07.04, 14:03 |
|
Sazabis |
|
|
+1 |
0 пользователей читают эту тему (0 гостей и 0 скрытых пользователей)
0 пользователей:
- Предыдущая тема
- Borland C++ Builder/Turbo C++ Explorer
- Следующая тема
[ Script execution time: 0,0375 ] [ 16 queries used ] [ Generated: 28.01.23, 17:21 GMT ]




Но…. короче он показывает ТОЛЬКО первую запись!!!! Точнее первое поле первой записи!!! 

Если заполнить только DataSouce и DataField — то он ничего не отображает! А если еще заполнить FieldSource, то он ругается мол «Circular datalinks are not allowed»


