Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Principal > Conexión con bases de datos
Registrarse FAQ Miembros Calendario Guía de estilo Temas de Hoy

Conexión con bases de datos

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 19-05-2008
Avatar de NestorN
NestorN NestorN is offline
Miembro
 
Registrado: ago 2005
Ubicación: Argentina
Posts: 15
Poder: 0
NestorN Va por buen camino
Problemas Con el Insert

Hola Gente, quisiera saber si alguien puede ayudarme con un problema que tengo. Estoy trabajando con una base de datos en sql server 2000, y utilizo las erramientas ADO de delphi. Cando quiero relizar un INSERT por medio de ADOquery no lanza el siguiente error:

Proyect Bibliotecaa.exe raised exception class EOleExeption whit message 'El nombre 'Nro_Legajo' no es válido en este contexto. Solo se permiten constantes, expresiones o variables. No se permiten nombre de culomna.

Si alguien puede darme una ayuda, se lo agradesco desde ahora.

Nestor
Responder Con Cita
  #2  
Antiguo 19-05-2008
Avatar de poliburro
[poliburro] poliburro is offline
Miembro Premium
 
Registrado: ago 2004
Ubicación: México D.F
Posts: 3.068
Poder: 23
poliburro Va por buen camino
Podrías incluir la consulta por favor?
__________________
Conoce mi blog http://www.edgartec.com
Responder Con Cita
  #3  
Antiguo 19-05-2008
Avatar de Alexandro
Alexandro Alexandro is offline
Miembro
 
Registrado: mar 2008
Ubicación: Mayarí Holguín Cuba
Posts: 127
Poder: 17
Alexandro Va por buen camino
Cool Problemas Con el Insert

Creo que deberías ser un poco mas especifico. Nos gustaría que mandaras la consulta para hecharle un vistazo.
Salu2
Responder Con Cita
  #4  
Antiguo 19-05-2008
Avatar de BlueSteel
[BlueSteel] BlueSteel is offline
Miembro Premium
 
Registrado: may 2003
Ubicación: Concepción - Chile
Posts: 2.310
Poder: 24
BlueSteel Va por buen camino
Cool

Cita:
Empezado por NestorN Ver Mensaje
Hola Gente, quisiera saber si alguien puede ayudarme con un problema que tengo. Estoy trabajando con una base de datos en sql server 2000, y utilizo las erramientas ADO de delphi. Cando quiero relizar un INSERT por medio de ADOquery no lanza el siguiente error:

Proyect Bibliotecaa.exe raised exception class EOleExeption whit message 'El nombre 'Nro_Legajo' no es válido en este contexto. Solo se permiten constantes, expresiones o variables. No se permiten nombre de culomna.

Si alguien puede darme una ayuda, se lo agradesco desde ahora.

Nestor

Como dicen, deberias dejar tu codigo para analizarlo....

aunque me parece que estas haciendo referencia aun componente por su nombre y le falta el apellido

Nro_Legajo, a le mejor debe ser Nro_Lejago.Text , pero si no entragas más info, será dificil ayudarte...

salu2
__________________
BlueSteel
Responder Con Cita
  #5  
Antiguo 19-05-2008
Avatar de NestorN
NestorN NestorN is offline
Miembro
 
Registrado: ago 2005
Ubicación: Argentina
Posts: 15
Poder: 0
NestorN Va por buen camino
Este sería el código en el botón 'grabar':
var cond1:widescreen;
query1.SQL.Clear;
cond1 := 'Insert into tSocios '+
'VALUES (Nro_Legajo= '+ dbedit1.Text+',Nro_DNI ='+ dbedit2.text +',Nom_Socio ='+ QuotedStr(dbedit3.Text)+
'Apel_Socio ='+ QuotedStr(dbedit4.Text)+',Tel_Socio = '+dbedit5.Text ;
query1.SQL.Add(cond1);
query1.open;

Tengo los dbedit relacionados a un datasource, luego el data source con un adoquery, y esa es la consulta que ejecuto en un boton grabar.
También probe sacando los dbedit, por edit simples, y omiti el datasourse y sigue con el mismo, error, y me esta retrsando mucho. Muchas gracias
Responder Con Cita
  #6  
Antiguo 19-05-2008
Avatar de BlueSteel
[BlueSteel] BlueSteel is offline
Miembro Premium
 
Registrado: may 2003
Ubicación: Concepción - Chile
Posts: 2.310
Poder: 24
BlueSteel Va por buen camino
Cool

Hola...

bueno, te aconsejo que utilices las etiquetas de codigo...así se verá mejor el codigo...

Código Delphi [-]
var cond1:widescreen;
query1.SQL.Clear;
cond1 := 'Insert into tSocios '+'VALUES (Nro_Legajo= '+ dbedit1.Text+',Nro_DNI ='+ dbedit2.text +',Nom_Socio ='+ QuotedStr(dbedit3.Text)
'Apel_Socio ='+ QuotedStr(dbedit4.Text)+',Tel_Socio = '+dbedit5.Text ;
query1.SQL.Add(cond1);
query1.open;


Cita:
Empezado por NestorN Ver Mensaje
Tengo los dbedit relacionados a un datasource, luego el data source con un adoquery, y esa es la consulta que ejecuto en un boton grabar. También probe sacando los dbedit, por edit simples, y omiti el datasourse y sigue con el mismo, error, y me esta retrsando mucho. Muchas gracias
Que raro, se supone que si utilizas DBEdit no debes realizar el codigo anterior, solo debes actualizar la tabla... creo que el error que te da es que estas granbando algo que ya esta ingresado (por el DBEdit...)...


El otro error que tienes es que esta finalizando la sentencia con
Código Delphi [-]
query1.open;
y debiera ser
Código Delphi [-]
 
query1.ExecSQL;

Te recomiendo que realices todo el proceso solo co Edits o componentes similares...

Salu2
__________________
BlueSteel
Responder Con Cita
  #7  
Antiguo 19-05-2008
Avatar de Delphius
[Delphius] Delphius is offline
Miembro Premium
 
Registrado: jul 2004
Ubicación: Salta, Argentina
Posts: 5.582
Poder: 25
Delphius Va camino a la fama
Hola, ¿Que no es que la sentencia SQL viene así?

Código SQL [-]
insert into TU_TABLA (LISTADO_DE_CAMPOS) values (LISTADO_DE_VALORES)


Por otro lado, como dice BlueSteel, debes llamar al método ExecSQL y no a Open.
__________________
Delphius
[Guia de estilo][Buscar]
Responder Con Cita
  #8  
Antiguo 19-05-2008
Avatar de BlueSteel
[BlueSteel] BlueSteel is offline
Miembro Premium
 
Registrado: may 2003
Ubicación: Concepción - Chile
Posts: 2.310
Poder: 24
BlueSteel Va por buen camino
Cool

Cita:
Empezado por Delphius Ver Mensaje
Hola, ¿Que no es que la sentencia SQL viene así?
Código SQL [-]
insert into TU_TABLA (LISTADO_DE_CAMPOS) values (LISTADO_DE_VALORES)



Tienes razón Delphius, pero cuando vas a realizar un ingreso de un registro con todos sus campos no es necesario especificar los campos, solo se especifican (detallan) cuando no ingresaras un campo en especial...es decir, al especificar la Tabla solamente, es asume que ingresaras datos en todos los campos..

en el caso de las tablas que poseen autoincrementales, debes especificar todos los campos (excepto el autoincremental)...

Salu2
__________________
BlueSteel

Última edición por BlueSteel fecha: 19-05-2008 a las 21:57:55.
Responder Con Cita
  #9  
Antiguo 19-05-2008
Avatar de BlueSteel
[BlueSteel] BlueSteel is offline
Miembro Premium
 
Registrado: may 2003
Ubicación: Concepción - Chile
Posts: 2.310
Poder: 24
BlueSteel Va por buen camino
Cool

Cita:
Empezado por NestorN Ver Mensaje
Este sería el código en el botón 'grabar':
var cond1:widescreen;
query1.SQL.Clear;
cond1 := 'Insert into tSocios '+
'VALUES (Nro_Legajo= '+ dbedit1.Text+',Nro_DNI ='+ dbedit2.text +',Nom_Socio ='+ QuotedStr(dbedit3.Text)+
'Apel_Socio ='+ QuotedStr(dbedit4.Text)+',Tel_Socio = '+dbedit5.Text ;
query1.SQL.Add(cond1);
query1.open;

Tengo los dbedit relacionados a un datasource, luego el data source con un adoquery, y esa es la consulta que ejecuto en un boton grabar.
También probe sacando los dbedit, por edit simples, y omiti el datasourse y sigue con el mismo, error, y me esta retrsando mucho. Muchas gracias
NestorN, veo que estas repitiendo el mismo mensaje, creo que si no pones de tu parte, será un poco dificil ayudarte

Salu2
__________________
BlueSteel
Responder Con Cita
  #10  
Antiguo 20-05-2008
Avatar de NestorN
NestorN NestorN is offline
Miembro
 
Registrado: ago 2005
Ubicación: Argentina
Posts: 15
Poder: 0
NestorN Va por buen camino
Hola, gracias por sus comentarios, voy a probar con lo que me han dicho, y luego les comento las novedades.
BlueSteel, no veo donde este repetido el mensaje, si es asi pido disculpas, mi conexion no anda muy bien.
Responder Con Cita
  #11  
Antiguo 20-05-2008
Avatar de Delphius
[Delphius] Delphius is offline
Miembro Premium
 
Registrado: jul 2004
Ubicación: Salta, Argentina
Posts: 5.582
Poder: 25
Delphius Va camino a la fama
Cita:
Empezado por NestorN Ver Mensaje
Hola, gracias por sus comentarios, voy a probar con lo que me han dicho, y luego les comento las novedades.
BlueSteel, no veo donde este repetido el mensaje, si es asi pido disculpas, mi conexion no anda muy bien.
No los ves porque ya han sido borrados por un moderador. Te pediría que para la próxima tengas presente la guia de estilo. Y que por favor emplearas las etiquetas DELPHI para visualizar el código.

Saludos,
__________________
Delphius
[Guia de estilo][Buscar]
Responder Con Cita
  #12  
Antiguo 21-05-2008
Avatar de NestorN
NestorN NestorN is offline
Miembro
 
Registrado: ago 2005
Ubicación: Argentina
Posts: 15
Poder: 0
NestorN Va por buen camino
Gracias

Hola gente, gracias a su ayuda, y un poco de investigación pude solucionar mi problema. Aca les dejo el código, por si alguien le pasa lo mismo.
Código:
var cond1:widestring;
begin
query1.SQL.Clear;
cond1 := 'Insert into Socios (Nro_Legajo,Nro_DNI, Nom_Socio, Apel_Socio) VALUES (' + leg.text + ',' + dni.text + ',' + QuotedStr(nom.Text)+',' + QuotedStr(apel.Text)+ ')';
query1.SQL.Add(cond1);
query1.ExecSQL;
end;
Tenia un pequeño error en la sintaxis de la consulta sql, y el comando ExeSQL, también me sirvio. Gracias Nestor
Responder Con Cita
Respuesta



Normas de Publicación
no Puedes crear nuevos temas
no Puedes responder a temas
no Puedes adjuntar archivos
no Puedes editar tus mensajes

El código vB está habilitado
Las caritas están habilitado
Código [IMG] está habilitado
Código HTML está deshabilitado
Saltar a Foro

Temas Similares
Tema Autor Foro Respuestas Último mensaje
Problemas al hacer un Insert con loos nulos nelem Internet 2 10-10-2007 16:30:46
urgente problemas con insert into y datos de dipo date vero_17jm SQL 3 29-11-2006 18:58:22
problemas en el insert alfil123 Conexión con bases de datos 3 15-11-2006 01:46:29
problemas con el insert y el update tiagor64 SQL 5 16-02-2005 17:46:09
SQL Server 2000, problemas con INSERT SaurioNet SQL 1 13-04-2004 15:55:28


La franja horaria es GMT +2. Ahora son las 19:45:02.


Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi
Copyright 1996-2007 Club Delphi