• Domingo 22 de Diciembre de 2024, 12:55

Autor Tema:  Problema Con Sql Update  (Leído 2076 veces)

aim22

  • Nuevo Miembro
  • *
  • Mensajes: 3
    • Ver Perfil
Problema Con Sql Update
« en: Domingo 5 de Agosto de 2007, 03:05 »
0
Tengo el siguiente codigo:
query_grado.SQL.Clear;
query_grado.sql.Add('update Grado set Habilitacion ='+ComboBox1.Text+'where Cve_habilitacion='+Edit2.Text+'');
que_grado.ExecSQL;

el error esta en la parte que esta en negritas... he cambiado el "Edit2.Text" por alguna variable, strings y enteras.. no importa, siempre me sale este error :

Invalid use of keyword.Token: Cve_habilitacion=1

aunque 1 es el dato correcto que esta en el Edit2

que pasa??

ushedipe

  • Miembro activo
  • **
  • Mensajes: 37
    • Ver Perfil
Re: Problema Con Sql Update
« Respuesta #1 en: Viernes 10 de Agosto de 2007, 18:02 »
0
:comp:

tendrías que verificar el tipo del dato que tienes que enviar (string o si es integer habría que cambiarlo con StrtoInt), por otra parte noto que en la sintaxis falta el ";" de final de la sentencia, justo donde envías la doble comilla sencilla y nada dentro de ella ''; además no estás dejando ningún espacio entre ComboBox1.text+ y where; el analizador sintactico va a ver como una sola palabra lo que te traiga el ComboBox1.text concatenado con el where.

Suerte :ph34r:

aim22

  • Nuevo Miembro
  • *
  • Mensajes: 3
    • Ver Perfil
Re: Problema Con Sql Update
« Respuesta #2 en: Sábado 11 de Agosto de 2007, 00:49 »
0
si, ya habia notado esos errores, pero gracias de todos modos...

termine por quitar eso y mejor hacerlo con la sentencia dentro de las strings de un query :P

gracias!

gertorresm

  • Nuevo Miembro
  • *
  • Mensajes: 2
    • Ver Perfil
Re: Problema Con Sql Update
« Respuesta #3 en: Sábado 11 de Agosto de 2007, 01:07 »
0
pienso que tu codigo quedaría mucho mejor asi

Código: Text
  1. with query_grado do
  2.    begin
  3.      SQL.Clear;
  4.      sql.Add(' update Grado set Habilitacion ='+ComboBox1.Text +
  5.                   ' where Cve_habilitacion='+ Edit2.Text );
  6.      Prepare; // te Ayudara a optimizar el tiempo del motor
  7.      ExecSQL;
  8.    end;
  9.  

Si te das cuenta despues del edit2.text no necesitas utilizar mas comilla sencilla,ya que este es un valor string, y te recomiendo que nombres tus objetos, esto te facilita las labores de mantenimiento y lectura de código