Club Builder - Foros de discusión Club Builder
Foro de C++Builder en español
 
 FAQFAQ   BuscarBuscar   MiembrosMiembros   Grupos de UsuariosGrupos de Usuarios   RegistrarseRegistrarse 
 PerfilPerfil   Entra para ver tus mensajes privadosEntra para ver tus mensajes privados   EntrarEntrar 

bases de datos (URGEME)

 
Publicar nuevo tema   Responder al tema    Foros de discusión -> Consultas
Ver tema anterior :: Ver tema siguiente  
Autor Mensaje
Mensaje    Asunto: bases de datos (URGEME) Responder citando

como introducir sentencias SQL en tiempo de ejecucion y desplegar su resultado (p.e. en un DBGRID), la introducion la hago en un campo memo y por medio de un boton desplego el resultado, no hay problemas con el select, pero si con el insert y el delete.

Por ahora lo que esta en el campo memo lo añado al componente sql

Les agradecera la ayuda
Volver arriba
Ver perfil de usuario Enviar mensaje privado MSN Messenger
Mensaje    Asunto: Responder citando

Seria algo como esto:

Para conectar todos los componentes:

Código:

DataSource1->DataSet = Query1;
DBGrid1->DataSource = DataSource1;


Para hacer una consulta con el Query, el resultado de tu consulta se mostraria en el DBGRid:

Código:

Query1->SQL->Clear();
Query1->SQL->Add("Select * From Tabla") ;
Query1->Close();
//Open se usa solo al hacer una consulta de datos
Query1->Open();


Para insertar una dato:

Código:

Query1->SQL->Clear();
Query1->SQL->Add("Insert Into Tabla Values(:p1)") ;
//Le das el valor al parametro p1 (Lo que contenga Edit1)
Query1->ParamByName("p1")->AsString = Edit1->Text;
Query1->Close();
//ExecSql se usa al insertar, modificar y borrar
Query1->ExecSQL();


Espero te sirva.
Saludos!
_________________
"Ser inteligente no es ser mas, solo equivocarse menos y no usar Visual Basic"
Atte.
Victor Yañez

Apoyen el Proyecto OpenSource del Club Builder. Ya tenemos componentes Listos!!!
Volver arriba
Ver perfil de usuario Enviar mensaje privado Enviar email Yahoo Messenger MSN Messenger
Mensaje    Asunto: Responder citando

Eso si lo he podido hacer te lo agradezo, pero tengo que hacer una especie de editor de sentencias SQL, que en la pantalla el usuario introzuca la que quierq(Inset,Delete o Select) y que le muestre el resultado.
Volver arriba
Ver perfil de usuario Enviar mensaje privado MSN Messenger
Mensaje    Asunto: Responder citando

Hola, lo he hecho sin ningun problema, quedo algo asi:

Puse lo de la opcion para distinguir cuando es necesario hacer un Open o un ExecSQL con el Query, tu puedes hacer una busqueda dentro del contenido del Memo para distinguir (lo hice asi por tiempo).






Y el codigo correspondiente seria este:

Código:
//---------------------------------------------------------------------------

#include <vcl.h>
#pragma hdrstop

#include "Unit1.h"
//---------------------------------------------------------------------------
#pragma package(smart_init)
#pragma resource "*.dfm"
TForm1 *Form1;
//---------------------------------------------------------------------------
__fastcall TForm1::TForm1(TComponent* Owner)
        : TForm(Owner)
{
}
//---------------------------------------------------------------------------
void __fastcall TForm1::Button1Click(TObject *Sender)
{
 Query1->SQL->Clear();
 Query1->SQL->Add(Memo1->Text);
 Query1->Close();
 if(Seleccion->Checked)
   Query1->Open();
 else if(Alteracion->Checked)
  {
   Query1->ExecSQL();
   //Esto de abajo es para ver enseguida los datos insertados, modificados o eliminados
   Query1->SQL->Clear();
   Query1->SQL->Add("Select * From Tabla");
   Query1->Close();
   Query1->Open();
  }
 else
   ShowMessage("Debe elegir una opción");

}
//---------------------------------------------------------------------------


Cuando digo alteracion, me refiero al estado fisico de la tabla es decir si hacer un Insert, Update o un Delete.

Puedes bajar el ejemplo de aqui: Ejemplo Para BCB6 (va con la la pequeña tabla que use de ejemplo)

Espero entiendas la idea.
Saludos!!!!
_________________
"Ser inteligente no es ser mas, solo equivocarse menos y no usar Visual Basic"
Atte.
Victor Yañez

Apoyen el Proyecto OpenSource del Club Builder. Ya tenemos componentes Listos!!!
Volver arriba
Ver perfil de usuario Enviar mensaje privado Enviar email Yahoo Messenger MSN Messenger
Mostrar mensajes de anteriores:   
Cambiar a:  
No puedes publicar temas nuevos en este foro
No puedes responder a temas en este foro
No puedes editar tus mensajes en este foro
No puedes borrar tus mensajes en este foro
No puedes votar en las encuestas de este foro


Hosting WordPress Indedmedia desde 3,99 €
© 2002–2026 Club Builder · Funciona con phpBB.