Subject | Simple question about "Dataset cannot scroll" |
---|---|
Author | Daniel Jimenez |
Post date | 2004-11-29T04:01:18Z |
Hi,
I am getting a "Dataset cannot scroll error".
As I have not found the source of the problem. I have written a very simple
application, which contains two IB_Grids.(One displays the Master
information and the other the Detail information)
Thus, each IB_grid has a IB_Qery and IB_DataSource. The Idea is that the
application user can click on record on the IB_Grid containing the Master
data, and the IB_Grid on the right will display all details records that
match the master. This works fine.
However, when I try to edit any detail record, I get the following error:
.... EIB_DatasetError with message "Dataset cannot scroll"
The sql use on the master IB_Query_Master is:
SELECT ACM_DOUBLEKNOCK.DN_ID
FROM ACM_DOUBLEKNOCK
KeyLinks contains:
ACM_DOUBLEKNOCK.DN_ID
And I have not provided Insert, Update or Delete SQL for master
IB_Query_Master.
The sql use on the detail IB_Query_Detail is:
SELECT
ACM_DOUBLEKNOCKITEMS.DNI_DN_ID,
ACM_DOUBLEKNOCKITEMS.DNI_AC_ID
FROM ACM_DOUBLEKNOCKITEMS
LEFT JOIN ALARMCODES
ON(ACM_DOUBLEKNOCKITEMS.DNI_AC_ID=ALARMCODES.AC_ID)
LEFT JOIN ACM_DOUBLEKNOCK
ON(ACM_DOUBLEKNOCKITEMS.DNI_DN_ID=ACM_DOUBLEKNOCK.DN_ID)
The Insert SQL used on IB_Query_Detail is:
INSERT INTO ACM_DOUBLEKNOCKITEMS(
DNI_AC_ID, /*PK*/
DNI_DN_ID) /*PK*/
VALUES (
:DNI_AC_ID,
:DNI_DN_ID)
The Update SQL used on IB_Query_Detail is:
UPDATE ACM_DOUBLEKNOCKITEMS SET
DNI_AC_ID = :DNI_AC_ID, /*PK*/
DNI_DN_ID = :DNI_DN_ID /*PK*/
WHERE
DNI_AC_ID = :OLD_DNI_AC_ID AND
DNI_DN_ID = :OLD_DNI_DN_ID
The Delete SQL used on IB_Query_Detail is:
DELETE FROM ACM_DOUBLEKNOCKITEMS
WHERE
DNI_AC_ID = :OLD_DNI_AC_ID AND
DNI_DN_ID = :OLD_DNI_DN_ID
KeyLinks contains:
ACM_DOUBLEKNOCKITEMS.DNI_DN_ID
ACM_DOUBLEKNOCKITEMS.DNI_AC_ID
MasterLinks contains:
DNI_DN_ID=ACM_DOUBLEKNOCK.DN_ID
The detail IB_Query_Detail DataSource property is set to the master
IB_Query_Master
Any suggestions are welcome at this stage :-)
danieL.
____________________________
Comvision Pty. Ltd.
www.comvision.net.au
I am getting a "Dataset cannot scroll error".
As I have not found the source of the problem. I have written a very simple
application, which contains two IB_Grids.(One displays the Master
information and the other the Detail information)
Thus, each IB_grid has a IB_Qery and IB_DataSource. The Idea is that the
application user can click on record on the IB_Grid containing the Master
data, and the IB_Grid on the right will display all details records that
match the master. This works fine.
However, when I try to edit any detail record, I get the following error:
.... EIB_DatasetError with message "Dataset cannot scroll"
The sql use on the master IB_Query_Master is:
SELECT ACM_DOUBLEKNOCK.DN_ID
FROM ACM_DOUBLEKNOCK
KeyLinks contains:
ACM_DOUBLEKNOCK.DN_ID
And I have not provided Insert, Update or Delete SQL for master
IB_Query_Master.
The sql use on the detail IB_Query_Detail is:
SELECT
ACM_DOUBLEKNOCKITEMS.DNI_DN_ID,
ACM_DOUBLEKNOCKITEMS.DNI_AC_ID
FROM ACM_DOUBLEKNOCKITEMS
LEFT JOIN ALARMCODES
ON(ACM_DOUBLEKNOCKITEMS.DNI_AC_ID=ALARMCODES.AC_ID)
LEFT JOIN ACM_DOUBLEKNOCK
ON(ACM_DOUBLEKNOCKITEMS.DNI_DN_ID=ACM_DOUBLEKNOCK.DN_ID)
The Insert SQL used on IB_Query_Detail is:
INSERT INTO ACM_DOUBLEKNOCKITEMS(
DNI_AC_ID, /*PK*/
DNI_DN_ID) /*PK*/
VALUES (
:DNI_AC_ID,
:DNI_DN_ID)
The Update SQL used on IB_Query_Detail is:
UPDATE ACM_DOUBLEKNOCKITEMS SET
DNI_AC_ID = :DNI_AC_ID, /*PK*/
DNI_DN_ID = :DNI_DN_ID /*PK*/
WHERE
DNI_AC_ID = :OLD_DNI_AC_ID AND
DNI_DN_ID = :OLD_DNI_DN_ID
The Delete SQL used on IB_Query_Detail is:
DELETE FROM ACM_DOUBLEKNOCKITEMS
WHERE
DNI_AC_ID = :OLD_DNI_AC_ID AND
DNI_DN_ID = :OLD_DNI_DN_ID
KeyLinks contains:
ACM_DOUBLEKNOCKITEMS.DNI_DN_ID
ACM_DOUBLEKNOCKITEMS.DNI_AC_ID
MasterLinks contains:
DNI_DN_ID=ACM_DOUBLEKNOCK.DN_ID
The detail IB_Query_Detail DataSource property is set to the master
IB_Query_Master
Any suggestions are welcome at this stage :-)
danieL.
____________________________
Comvision Pty. Ltd.
www.comvision.net.au