| Ver tema anterior :: Ver tema siguiente |
| Autor |
Mensaje |
julio Invitado
|
Publicado: Lun 08 Nov, 2004 1:08 pm Asunto: error SQL |
|
|
hola!
en mi aplicacion tengo una base de datos acces con varias tablas
que enlazo mediante un query y un datasource,la cuestion es q cuando se ejecuta una instruccion de SQL como esta xej.
Query2->Close();
Query2->SQL->Clear();
Query2->SQL->Add("Insert into tabla1 (campo1,Campo2,Campo3,Campo4) values ('valor1','valor2','valor3','valor4')");
Query2->ExecSQL();
Query2->Open();
si q se hace esa insercion en la tabla de forma correcta pero luego me da un error q dice algo asi: ...Error creating cursor handle...y por supuesto se detiene la compliacion
Si alguien me puede explicar a q se debe me haria un gran favor,gracias. |
|
| Volver arriba |
|
 |
TObject Cdt

Registrado: 28 Jun 2004Mensajes: 17
|
Publicado: Lun 08 Nov, 2004 6:24 pm Asunto: Re: error SQL |
|
|
| Código: |
Query2->ExecSQL(); //El ExecSQL se utiliza cuando realizas instrucciones insert, delete or update
Query2->Open(); //El Open se utiliza cuando realizas consultas Select
|
El error debe estar en la linea Query2->Open();.....Quitala y me comentas ..... Espero haberte ayudado |
|
| Volver arriba |
|
 |
Touchsoftwares Master


Registrado: 16 Dic 2002Mensajes: 869Ubicación: MEXICO Playa del Carmen
|
Publicado: Mar 09 Nov, 2004 4:26 am Asunto: |
|
|
INSERT , DELETE y UPDATE = ExecSQL
OPEN = SELECT _________________ Ing. Gabriel Góngora Navarrete
TouchSoftwares Inc
http://www.touchsoftwares.com |
|
| Volver arriba |
|
 |
julio Invitado
|
Publicado: Mar 09 Nov, 2004 9:29 am Asunto: |
|
|
| gracias pero ya he probado quitando el Open y me sigue dando el mismo error no al instante pero si cuando hago otra cosa despues |
|
| Volver arriba |
|
 |
Touchsoftwares Master


Registrado: 16 Dic 2002Mensajes: 869Ubicación: MEXICO Playa del Carmen
|
Publicado: Mar 09 Nov, 2004 8:43 pm Asunto: |
|
|
Polle un ShowMessage("aqui me quede"); despues del SQLExec _________________ Ing. Gabriel Góngora Navarrete
TouchSoftwares Inc
http://www.touchsoftwares.com |
|
| Volver arriba |
|
 |
Alberto Lavariega Arista Lt JG

Registrado: 22 Oct 2004Mensajes: 66Ubicación: Bahias de Huatulco, Oaxaca
|
Publicado: Mie 29 Dic, 2004 8:13 pm Asunto: |
|
|
Antes del ExecSQL agregale un PrepareSQL y me dices que onda...
saludos( ).. _________________ Alberto Lavariega Arista |
|
| Volver arriba |
|
 |
XyVy Master


Registrado: 25 Ago 2002Mensajes: 557Ubicación: Murcia (España)
|
Publicado: Mie 29 Dic, 2004 8:35 pm Asunto: |
|
|
Alberto perdona pero vuelves a hacer lo mismo. Touchsoftware dá la solución correcta al problema, repitiendo sus palabras:
Si usas INSERT, UPDATE, DELETE, DROP usa el método ExecSQL(), si por el contrario tus sentencias son de consulta de datos, se debe usar el método Open().
Si te fijas lo que aconsejas no es solución para su problema, además de leerte las preguntas, leete las respuestas del resto, pues está estaba clara y correctamente contestada.
Ciao. _________________ OJO!! Ya tenemos subforo de Bases de Datos!!
Gracias a los admins. |
|
| Volver arriba |
|
 |
|