Club Delphi  
    Paypal   FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Principal > SQL
Registrarse FAQ Miembros Calendario Guía de estilo Buscar Temas de Hoy Marcar Foros Como Leídos

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 15-12-2006
Saltamontes Saltamontes is offline
Registrado
 
Registrado: dic 2006
Posts: 6
Poder: 0
Saltamontes Va por buen camino
Pos de hecho asi es, no le encuetro el error y me dice que o falta cerrar la cadena, o los " " no estan colocados adecuadamente o se esperaba (END) y se encontro ,.

Ya le estuve probando como dos horas seguidas y no encuentro que me falla, por eso copie el codigo de lo que habia probado.
Es lo que me marca:
[Hint] Value assigned to 'no_cuatrim' never used
[Error] Illegal character in input file: '"' ($22)
[Error] Too many actual parameters
[Error] Too many actual parameters
[Error] Too many actual parameters
[Error] Illegal character in input file: '"' ($22)
[Error] Missing operator or semicolon
[Error] Too many actual parameters
[Error] ')' expected but ',' found
[Error] Too many actual parameters
[Error] Too many actual parameters
[Error] 'END' expected but ',' found
[Error] Unterminated string
[Error] '.' expected but ';' found
[Fatal Error] CURTV.dpr Could not compile used unit 'FRM_AgreMat.pas'

Les agradeceria si me ayudan con un ejemplo del orden en que deben ir los " " y ' ' para delimitar bien las ordenes, ya que solo habia usado algo como SQL.Add(' where id_especialidad = " ' + txt_clave_esp.Text + ' " ');

Y otra vez, gracias
Responder Con Cita
  #2  
Antiguo 15-12-2006
Avatar de roman
roman roman is offline
Moderador
 
Registrado: may 2003
Ubicación: Ciudad de México
Posts: 20.269
Poder: 10
roman Es un diamante en brutoroman Es un diamante en brutoroman Es un diamante en bruto
Pues lo primero es usar ' para las cadenas en Delphi y " para las cadenas en SQL. Pero es incluso mejor usar la función QuotedStr, que si bien alarga el código, lo aclara bastante. Por ejemplo, en lugar de poner

Código Delphi [-]
'where id_especialidad = "' + txt_clave_esp.Text + '"'

poner

Código Delphi [-]
'where id_especialidad = ' + QuotedStr(txt_clave_esp.Text)

La función QuotedStr se encargará de colocar las " alrededor del texto.

Mejor aún sería usar parámetros:

Código Delphi [-]
'where id_especialidad = :EspecialidadId'

y sustituirlos al momento de lanzar la consulta:

Código Delphi [-]
ZQ_Materias.ParamByName('EspecialidadId').AsString := txt_clave_esp.Text;

Si no puedes usar parámetros, por ejemplo porque no sepas de antemano cuantas líneas vasa insertar, podrías, por lo menos usar Format:

Código Delphi [-]
Format('where id_especialidad = %s', [QuotedStr(txt_clave_esp.Text)]);

En fin, que hay varias opciones, pero lo esencial es no intentar construir la cadena de un sólo golpe porque puede uno volverse loco.

// Saludos
Responder Con Cita
Respuesta


Herramientas Buscar en Tema
Buscar en Tema:

Búsqueda Avanzada
Desplegado

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
como inserto un SubMenu? lpaburto Varios 1 14-10-2005 16:49:07
como inserto una imagen karlita_cb SQL 2 07-03-2005 22:45:10
¿Cómo inserto, mediante un query, un registro en paradox con un campo autoincrement? molarte Tablas planas 2 18-11-2004 17:27:30
Como modificar valores desde un dbgrid q esta asociado a un QUERY? fmonte SQL 12 26-08-2004 22:25:22
¿Como inserto una imagen en un texto? Adrix Gráficos 5 02-09-2003 00:00:21


La franja horaria es GMT +2. Ahora son las 01:20:45.


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