Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Otros entornos y lenguajes > C++ Builder
Registrarse FAQ Miembros Calendario Guía de estilo Temas de Hoy

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 28-11-2006
JuanIB JuanIB is offline
Registrado
 
Registrado: nov 2006
Posts: 4
Poder: 0
JuanIB Va por buen camino
De una parte no se como insertar, actualizar o eliminar. Por ejemplo, IBDataSet incluye cuatro apartados (creo) consulta, insercion, actualización y borrado. Apartados en los que se puede escribir código SQL. Si escribo una orden de busqueda (select * from....) y activo el elemento la busqueda se ha realizado de forma correcta. Ahora bien, si escribo (insert into _tabla_ values...) y activo el elemento me provoca una excepción.

¿Sabeis cual es el mecanismo para insertar, actualizar y eliminar empleando los apartados SQL de elementos como IBQuery, IBUpdateSQL, IBDataSet o IBSQL?

Gracias.
Responder Con Cita
  #2  
Antiguo 28-11-2006
JuanIB JuanIB is offline
Registrado
 
Registrado: nov 2006
Posts: 4
Poder: 0
JuanIB Va por buen camino
Otro problema que se me plantea es el del uso de los parámetros. Por ejemplo,
Código SQL [-]
select * from _tabla_ where _columna_=:Parametro
; Dentro de un apartado SQL de algún elemento. Si la comparación con la columna es numérica no da problemas, pero si la hago respecto a una cadena de caracteres esta no responde. Lo que yo hago es:

Código:
aux = "'" + edit1->text + "'";
Query1->ParamByName("Parametro")->AsString = aux.c_str();
Pero no obtengo la consulta deseada.

¿Cómo se pueden emplear parámetros que esperan cadenas de caracteres?

Gracias.
Responder Con Cita
  #3  
Antiguo 28-11-2006
Avatar de Bicho
[Bicho] Bicho is offline
Miembro Premium
 
Registrado: jul 2003
Ubicación: Inca - Mallorca
Posts: 1.776
Poder: 22
Bicho Va por buen camino
Bueno, vayamos por partes:

-Para los tipos de sentencias SQL que implican consulta de datos (select), simplemente basta con activar el objeto o abrirlo:

Código Delphi [-]
  IBDataSet1->SQL->Text := "select _____ from ....";

 IBDataSet1->Open;
 o
 IBDataSet1->Active := True;

Las dos son válidas.

- Para los tipos de sentencias SQL que implican un alteración (insert, update, detele, drop, create, etc) hay que llamar al método ExecSQL en lugar de cualquiera de los dos anteriores.

Código Delphi [-]
  IBDataSet1->SQL->Text := "insert into ....";
  IBDataSet1->ExecSQL;

Tu problema con los parámetros no lo acabo de entender. Quizá sea porque desconozco C++ Builder y se me escapa algo, pero en principio yo lo veo bien.
Puedes usar la propiedad Text del SQL justo antes de ejecutar la sentencia SQL, para saber que es lo que hay, y que se va a mandar al servidor. Si esto tu lo coges y lo pasas al SQL Explorer o el cliente de base de datos que tengas, podrás ejecutarlo y ver que es lo que falla.

Ya nos comentas que tal.

Saludos
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
Conexion con interbase y vb . . . Arturo Firebird e Interbase 1 22-09-2004 16:03:00
Conexión a Interbase subzero Firebird e Interbase 1 15-09-2004 11:46:26
Conexión a Interbase!! subzero Firebird e Interbase 6 21-04-2004 23:25:34
Conexión ADO a Interbase kes Firebird e Interbase 2 05-12-2003 17:35:19


La franja horaria es GMT +2. Ahora son las 21:34:23.


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