PDA

Ver la Versión Completa : Consulta con IBdataset


perillan
26-04-2005, 11:09:55
Buenas foro, alguien me puede comentar el porque no funciona la consulta esta?.
Unsaludo.


begin

dm.IBDataSet1.Close;
dm.IBDataSet1.SelectSQL.Add( 'where NOMBRE containing ''' + edSearch.Text + '''');
TRY
dm.IBDataSet1.OPEN;
EXCEPT
ShowMessage('No he encontrado ningun registro');
end;

marcoszorrilla
26-04-2005, 11:20:26
begin

dm.IBDataSet1.Close;
dm.IBDataSet1.SQL.Add( 'Select * From xxx where NOMBRE containing ''' + edSearch.Text + '''');
TRY
dm.IBDataSet1.OPEN;
EXCEPT
ShowMessage('No he encontrado ningun registro');
end;


Un Saludo.

perillan
26-04-2005, 14:44:46
Hola de nuevo .
Lo he corregido como me dices, pero sigue dando el siguinte error en el select al lincar el programa.
Un saluco.

[Error] Form.pas(119): ')' expected but identifier 'Select' found

Delfino
26-04-2005, 20:29:54
dm.IBDataSet1.Close;

dm.IBDataSet1.SelectSQL.Clear;

dm.IBDataSet1.SelectSQL.Add....

perillan
26-04-2005, 21:00:56
Ahora se queda colgado despues del SQL (dm.IBDataSet1.SQL.) con este fallo.
Un saludo y haber si damos con ello.

[Error].pas(122): Undeclared identifier: 'SQL'


dm.IBDataSet1.Close;
dm.IBDataSet1.SelectSQL.Clear;
dm.IBDataSet1.SQL.Add( 'Select * From ARTICULOS where NOMBRE containing ''' + edSearch.Text + '''');
TRY
dm.IBDataSet1.SQL

vtdeleon
26-04-2005, 22:18:16
Una observacion, Marcos...
begin
dm.IBDataSet1.Close;
dm.IBDataSet1.SQL.Add( 'Select * From xxx where NOMBRE containing ''' + edSearch.Text + '''');
TRY
dm.IBDataSet1.OPEN;
EXCEPT
ShowMessage('No he encontrado ningun registro');
end;
En ese componente no exite el parametro SQL, no he usado mucho ese componente, pero creo que debe ser SelectSQL.add.

Hasta Luego

marcoszorrilla
27-04-2005, 06:45:04
Pues tienes razón, ahora me doy cuenta que había interpretado que se trataba de un IBquery y no un IbDataSet como es el caso.

Aunque si se trata de hacer un Select?, sería más oportuno utilizar el IbQuery.

Un Saludo.

perillan
27-04-2005, 21:10:10
Muchas gracias a los dos.
He utilizado un IbQuery. Con el IbDataSet no funciona
Un saludo.

Delfino
27-04-2005, 23:26:44
Como q no funciona? si funciona con IBQuery tiene q funcionar con IBDataset
un IBdataset es un IBQuery que se le añaden posibilidades de edicion de la tabla; y es mejor utilizarlo por si luego se decide dar posibilidad al usuario de manipular los datos se hace facil, la diferencia es q IBquery tiene la propiedad SQL y el IBDataset tiene la propiedad SelectSql. Te recomendaria usar el IBDataset seguro funciona, si no pon aqui el codigo q funciono con el query y lo hacemos funcionar con el segundo..

perillan
29-04-2005, 14:47:45
He seguido con el tema y Delfino tiene toda la razón con un IBDataSet1 se puede hacer perfectamente. Aqui pongo el codigo por si a alguien le interesa.

De todas las maneras me gustaria que le hechases un vistazo a otra consulta que tengo un poco mas abajo y me dieseis vuestro parecer. Titulo: "insertar nuevo registro".
Un saludo y muchas gracias.

dm.IBDataSet1.Close;
WITH dm.IBDataSet1 DO
BEGIN
dm.IBDataSet1.SelectSQL.text:=( 'Select *From ARTICULOS where NOMBRE containing ''' + edSearch.Text + '''');
TRY
........
......