FTP | CCD | Buscar | Trucos | Trabajo | Foros |
|
Registrarse | FAQ | Miembros | Calendario | Guía de estilo | Temas de Hoy |
|
Herramientas | Buscar en Tema | Desplegado |
|
#1
|
||||
|
||||
Cita:
Y el problema es ese, que las comillas de pulgadas está deformando la sentencia. Si se hace lo que comenta marcos se vería realmente la sentencia que se está creando. O deteniendo el programa con un breakpoint y mirando el contenido del query.sql.text, por supuesto. |
#2
|
||||
|
||||
Cita:
Cita:
Cita:
// Saludos |
#3
|
||||
|
||||
El problema no es firebird, es delphi.
Si con el ibexpert, por ejemplo, ejecuto un:
Lo hace perfectamente. Pero si desde delphi vas componiendo la sentencia no lo hace bien, se confunde con las comillas. Puede que usando algo así lo haga bien: Código:
'rueda de 20'#34' de diámetro' Código:
'rueda de 20'+#34+' de diámetro' |
#4
|
||||
|
||||
Cita:
Si yo pongo:
donde Edit1 contiene el texto rueda de 20" de diámetro el ShowMessage muestra 'rueda de 20" de diámetro' El compilador no se queja y la sentencia queda igual que como se pondría directamente en el IBExpert. A lo que voy es que, al menos a mi, no me parece tan claro dónde radica el problema. No sé si los componentes en particular que use hacen algún tipo de escape de comillas al momento de enviar la consulta al servidor. // Saludos |
#5
|
||||
|
||||
Yo creo que el problema viene del componente utilizado en este caso de las Ib que al encontrar las dobles comillas no las interpreta bien.
Por eso yo decía mostrar el SQL con un ShowMessage porque aunque pueda parecer evidente que lo escrito está bien al mostrarlo con el ShowMessage vemos lo que se le va a enviar al motor y a veces, doy fe no coincide. Un Saludo.
__________________
Guía de Estilo de los Foros Cita:
|
#6
|
|||
|
|||
Solución muy cara
Que tal
Después de tanto probar, opté por bajar el trial de Delphi 2010 y probar el mismo código con algunas adaptaciones en algunos componentes de terceros para que compilara correctamente y funcionó. Así que algún problema tiene Delphi 7 con las comillas dobles dentro de las cadenas. Aún así buscaré otra opción ya que Delphi 2010 "Enterprise" que es el que tiene el dbExpress para Firebird es una solución muy cara para resolver el problema de las comillas. Gracias a todos Saludos Bismarck |
#7
|
||||
|
||||
También puedes usarlo así, sin problemas:
Código:
query.close; query.sql.text := 'insert into articulos values( :codigo, :descripcion, :precio)'; query.parambyname('codigo').asinteger := 100; query.parambyname('descripcion').asstring := 'Tele de 60" cúbicas'; query.parambyname('precio').asfloat := 25; query.execquery; |
|
|
Temas Similares | ||||
Tema | Autor | Foro | Respuestas | Último mensaje |
Cambiar comillas dobles por dos simples | Besto | Varios | 6 | 08-01-2009 16:44:47 |
tablas y campos en minusculas firebird con dialecto 3 las pone entre comillas dobles | juniorSoft | Firebird e Interbase | 2 | 03-11-2008 20:50:28 |
Error con sentencia SQL | Coco_jac | SQL | 7 | 28-11-2005 21:00:52 |
error de sentencia if , else | Epunamun | Conexión con bases de datos | 8 | 29-07-2005 13:23:24 |
Tengo un error de sentencia please | Epunamun | Conexión con bases de datos | 2 | 29-07-2005 02:05:24 |
|