 |
Club Builder Foro de C++Builder en español
|
| Ver tema anterior :: Ver tema siguiente |
| Autor |
Mensaje |
+ + Asterix + + Cdt

Registrado: 20 Oct 2005Mensajes: 16
|
Publicado: Vie 27 Ene, 2006 1:26 am Asunto: "Meter imagenes en MYSQL" |
|
|
hola a todos antes q nada, tengo un problema al meter imagenes a la BD,
estoy manejando MYSQL, no se q estoy haciendo mal ya me canse de buscarle,bueno apoyandome de algunos codigos de aqui del foro, tengo en un TBUTTON al insertar los datos el sig. codigo:
teniendo en cuenta q tengo una tabla llamada alumnos y sus campos
matricula int, nombre varchar(80), edad smallint, foto longblob, etc.
//---------------------------------------------------------------------------
void __fastcall TFalumnos::Button1Click(TObject *Sender)
{
TMemoryStream *stream = new TMemoryStream;
TJPEGImage *foto = new TJPEGImage;
foto->Assign( Image1->Picture->Bitmap );
foto->SaveToStream( stream );
stream->Seek( 0, soFromBeginning );
Query1->SQL->Text = "INSERT INTO ALUMNO( NOMBRE, EDAD, FOTO )"
"VALUES( '"+ Edit1->Text +"', "+ Edit3->Text.ToDouble() +", :foto )";
//aqui asigno el valor alparametro :foto
Query1->Params->Items[0]->LoadFromStream( stream , tBlob );
Query1->ExecSQL();
delete foto;
delete stream;
Query1->SQL->Text = "SELECT * FROM ALUMNO";
Query1->Open();
}//---------------------------------------------------------------------------
con este codigo no me marca ningunn error, el problema q no me esta metiendo nada a la BD, entonces cuando la quiero sacar valgame la redundancia no vizualizo nada con el siguiente codigo:
este codigo esta en el evento ONCELLCLICK de un TDBGrid, para que cuando de click en una celda me muestre la foto del alumno selceccionado.
//---------------------------------------------------------------------------
void __fastcall TFalumnos::DBGrid1CellClick(TColumn *Column)
{
TJPEGImage *jpg = new TJPEGImage;
TMemoryStream *stream = new TMemoryStream;
Query1->SQL->Text = "SELECT * FROM ALUMNO WHERE MATRICULA = '"+ DBGrid1->Fields[0]->AsString +"' ";
Query1->Open();
TBlobField * Campo_Blob =
dynamic_cast<TBlobField*>(Query1->Fields->Fields[3]); //es el campo de
//de la foto
if( !Campo_Blob->Value.IsEmpty() )
{
Campo_Blob->SaveToStream( stream );
stream->Seek(0, soFromBeginning );
jpg->LoadFromStream( stream );
Image1->Picture->Assign( jpg );
}
delete stream;
delete jpg;
}//---------------------------------------------------------------------------
no se q estoy haciendo mal ya le busque mucho tiempo, si alguien sabe cual es mi
error o q estoy haciendo mal, se los agredecere mucho.
ATTE
+ + ObeliX + +
"EL CONOCIMIENTO HUMANO PERTENCE AL MUNDO" |
|
| Volver arriba |
|
 |
Cesar C. Salazar Gonzalez Master


Registrado: 01 Oct 2002Mensajes: 2155Ubicación: San Cristóbal de Las Casas, Chiapas
|
|
| Volver arriba |
|
 |
+ + Asterix + + Cdt

Registrado: 20 Oct 2005Mensajes: 16
|
Publicado: Mar 31 Ene, 2006 3:40 am Asunto: |
|
|
Hola Cesar, mira es lo q ocupo pero al poner el codigo me marcar un error, yo utilizo la version 6 del Builder no se si sea por eso, bueno pero este es el error que me sale con tu codigo:
[C++ Error] Unit1.cpp(42): E2268 Call to undefined function 'OleLoadPicturePath'
Estube buscando la funcion OleLoadPicturePath en la ayuda y no la encontre, cual version utilizas?, o q esta mal?.
ATTE
+ + ObeliX + +
"EL CONOCIMIENTO HUMANO PERTENECE AL MUNDO" |
|
| Volver arriba |
|
 |
+ + Asterix + + Cdt

Registrado: 20 Oct 2005Mensajes: 16
|
Publicado: Mar 31 Ene, 2006 3:56 am Asunto: |
|
|
Ya se por q le falta la libreria #include<olectl.h> eso era todo.
ATTE
+ + ObeliX + +
"EL CONOCIMIENTO HUMANO PERTENECE AL MUNDO" |
|
| Volver arriba |
|
 |
|
|
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
|
© 2002–2026 Club Builder · Funciona con phpBB.
|