Foros del Web » Programación para mayores de 30 ;) » Bases de Datos General »

Insert con SQL dinámico

Estas en el tema de Insert con SQL dinámico en el foro de Bases de Datos General en Foros del Web. Debo hacer un insert into table donde los valores a insertar los tengo en una cadena de caracteres. Lo hago así: String insertRes="insert into "+nombtabla+" ...
  #1 (permalink)  
Antiguo 23/06/2005, 04:53
 
Fecha de Ingreso: mayo-2005
Ubicación: España
Mensajes: 279
Antigüedad: 19 años
Puntos: 2
Exclamación Insert con SQL dinámico

Debo hacer un insert into table donde los valores a insertar los tengo en una cadena de caracteres.

Lo hago así:

String insertRes="insert into "+nombtabla+" values ("+resultados+")";
miStat.executeUpdate(insertRes);

La cadena resultados la creo así:

respuesta=request.getParameter(nombreControl);

if (resultados==null) resultados="'"+respuesta+"'";
else resultados=resultados+",'"+respuesta+"'";

Pero al ejecutar me da error:

...right syntax to use near ''unaopcion','Escriba','otro','Masa')' at line 1"
org.apache.jasper.runtime.PageContextImpl.doHandle PageException(PageContextImpl.java:825)

No sé como arreglar lo de las comillas simples me aparece una fuera del paréntesis no me aparece el parentesis primero,etc.
Espero que alguien pueda ayudarme,
Gracias!
  #2 (permalink)  
Antiguo 23/06/2005, 07:26
 
Fecha de Ingreso: mayo-2005
Ubicación: España
Mensajes: 279
Antigüedad: 19 años
Puntos: 2
ayuda por favor es importante :(
  #3 (permalink)  
Antiguo 23/06/2005, 08:10
Avatar de Sir Matrix  
Fecha de Ingreso: octubre-2000
Ubicación: Dentro de mi cabeza. ono?
Mensajes: 1.264
Antigüedad: 23 años, 6 meses
Puntos: 3
er.. no se si te pueda ayudar, pero si usas sql server, al armar un sql dinámico la comilla simple se puede colocar como doble: '' y la interpreta como una sola.

ejemplo:
execute
('insert into TB_TipoMuestra
select top ' + @fija + ' codigo, ''dato'' from Tabla
where filtro=''' + @filtro + ''' ORDER BY RESULTADO_TOTAL' )

Pero esto en el caso de sql server.. qué lenguajes estás usando??

Saludos
__________________
|||| ))>_<(( ||||
www.webmagic.cl <-- esta pagina está mala, no la busquen
  #4 (permalink)  
Antiguo 23/06/2005, 14:52
Avatar de Mithrandir
Colaborador
 
Fecha de Ingreso: abril-2003
Mensajes: 12.106
Antigüedad: 21 años
Puntos: 25
Antes de intentar ejecutarlo haz un print de la instruccion que estás generando, verás que es en realidad lo que intentas ejecutar.

por ejemplo en ASP suelo poner <%=insertRes%> dentro de la pagina en los casos que no tengo mas remedio que usar sentencias dinamicas. En VB un alertbox o algo similar bastará.
__________________
"El hombre, en su orgullo, creó a Dios a su imagen y semejanza."
Friedrich Nietzsche
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 19:51.