Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   MySQL (https://www.clubdelphi.com/foros/forumdisplay.php?f=21)
-   -   Insert En Mysql (https://www.clubdelphi.com/foros/showthread.php?t=60721)

Yun-i 11-10-2008 16:51:29

Insert En Mysql
 
saludos a todos los Foristas

Miren estoy poniendo este hilo por que estoy realizando un insert a una base dedatos de mysql desde delphi 6 pero nose por que me manda el error:

el proveedor de datos u otros servicios devolvio e_fail

e ledio en varios lugares y dicen algunos que por el odbc otros que por dejar campos en blanco al insertar otros que por el tipo de dato y la verdad he probado con lo que eh encontrado pero nada espero me puedan ayudar el codigo que mando es el siguinete
Código Delphi [-]
AdoPublica.Open;
AdoPublica.Insert;
AdoPublicaEVT_EVENTO.Value:=ADODATASET1.Fields.FieldByName('ID_COTIZACION').AsInteger;
AdoPublicaEVT_FECHA_INI.Value:=2008-10-10{dtFechaIni.Date};
AdoPublicaEVT_NOMBRE.VALUE:=EdtEvento.Text;
AdoPublicaEVT_FECHA_FIN.Value:=2008-10-10{dtFechaFin.Date};
AdoPublicaDESCRIPCION.value:=RzMemo1.Text;
AdoPublicaCONTACTO_EVE.Value:=EdtContactoE.Text;
AdoPublicaSALONES.Value:=memoSaloCoti.text;
AdoPublicaCONTACTOemp.Value:=EdtContactoemp.Text;
AdoPublica.Post;
AdoPublica.Close;

enecumene 11-10-2008 17:23:28

En los campos de fecha intenta cambiar .Value a .AsDate.

Saludos.

Yun-i 11-10-2008 17:40:19

Gracias Por responder,

lamentablemente aun poninedo asdatetime en vez de value me sigue marcando el mismo error

:(

enecumene 11-10-2008 17:43:26

Cita:

Empezado por Yun-i (Mensaje 319568)
Gracias Por responder,

lamentablemente aun poninedo asdatetime en vez de value me sigue marcando el mismo error

:(

A ver, Cambia esto:

Cita:

ADODATASET1.Fields.FieldByName('ID_COTIZACION').AsInteger

por

ADODATASET1.Fields['ID_COTIZACION'].AsInteger

ó

ADODATASET1.FieldByName('ID_COTIZACION').AsInteger
Saludos.

Yun-i 11-10-2008 18:06:53

Gracias nueva mente

he puesto el cogigo asi:
Código Delphi [-]
AdoPublica.Open;
AdoPublica.Insert;
AdoPublicaEVT_EVENTO.AsInteger:=ADODATASET1.FieldByName('ID_COTIZACION').AsInteger;
AdoPublicaEVT_FECHA_INI.AsDateTime:=dtFechaIni.Date;
AdoPublicaEVT_NOMBRE.AsString:=EdtEvento.Text;
AdoPublicaEVT_FECHA_FIN.AsDatetime:=dtFechaFin.Date;
AdoPublicaDESCRIPCION.Assign(RzMemo1.Lines);
AdoPublicaCONTACTO_EVE.AsString:=EdtContactoE.Text;
AdoPublicaSALONES.Assign(memoSaloCoti.Lines);
AdoPublicaCONTACTOWTC.AsString:=EdtContactowtc.Text;
AdoPublica.Post;
AdoPublica.Close;


y pasa lo mismo pero estube rastreando el codigo y antes me mamandaba el error en esta linea

Código Delphi [-]
AdoPublicaEVT_EVENTO.AsInteger:=ADODATASET1.FieldByName('ID_COTIZACION').AsInteger;

pero ahora es en la ultima en la de:

Código Delphi [-]
AdoPublica.Post;
Me imagino que era parte del problema.

gracias por ayudarme

enecumene 11-10-2008 18:16:40

Bueno, ¿podrías colocar el error completo aquí? ;)

Saludos.

Yun-i 11-10-2008 18:21:52

El mesaje de error es el mismo completo dice asi:

Project SIE.exe raised exception class EOleExeption withmessage 'el proveedor de datos u otro servicio devolvio un estado E_FAIL'.Process sttoped. Use Step or Run to continue

gracias:)

enecumene 11-10-2008 18:27:42

¿Seguro que el servicio MySQL está corriendo? ¿o Solamente ocurre con ese código?

Yun-i 11-10-2008 18:30:43

si el servicio esta arriba de hecho cree una aplicacion para probar y desde un dbgrid no tengo probelams para postearlo, pero es en otro proyecto.:(

enecumene 11-10-2008 18:33:57

Cita:

Empezado por Yun-i (Mensaje 319588)
si el servicio esta arriba de hecho cree una aplicacion para probar y desde un dbgrid no tengo probelams para postearlo, pero es en otro proyecto.:(

Pues estoy seguro de que se trata de los campos fechas, verificate que los datos son correctos, formatos o están vacios, por ahí anda.

Saludos.

Yun-i 11-10-2008 18:41:26

ok te agradezco mucho tu tiempo estare encontacto por aqui y verificando de que manera los debo madar gracias

Yun-i 13-10-2008 18:25:34

Hola mira despues una larga busqueda de probales causas no puede hacer nada mas que cambiar los componentes de conexion estaba con los ado y lo cambine a un bde de delphi ya que lei que los componenest ado son para windows y aunque hay posibilidades de conectarse con mysql no es lo optimo, ya con los componentes no tube ningun problema con el post de datos, pero tengo un tipo de dato blob, que no me deja insertar el codigo quedo de la siguente manera:

Código Delphi [-]
dataMysql.AdoPublicaCOT_EVENTO.AsInteger:=ADODATASET1.FieldByName('ID_COTIZACION').AsInteger;
dataMysql.PublicaCOT_FECHA_INI.AsDateTime:=dtFechaIni.Date;
dataMysql.PublicaCOT_NOMBRE.AsString:=EdtEvento.Text;
dataMysql.PublicaCOT_FECHA_FIN.AsDatetime:=dtFechaFin.Date;
dataMysql.PublicaCOT_DESCRIPCION.Assign(RzMemo1.Lines);
dataMysql.PublicaCOT_CONTACTO_EVE.AsString:=EdtContactoE.Text;
dataMysql.PublicaCOT_SALONES.Assign(memoSaloCoti.Lines);
dataMysql.PublicaCOT_CONTACTO_WTC.AsString:=EdtContactowtc.Text;
dataMysql.PublicaCOT_M2.AsInteger:=edtm2.IntValue;
dataMySQL.PublicaCOT_IMAGEN.Assign(Image2.Picture);
dataMysql.Publica.Post;
dataMysql.Publica.Close;
Puiblica es una tabla en el datamodule dataMysql y todo lo hace bien en el insert, excepto

Código Delphi [-]
dataMySQL.PublicaCOT_IMAGEN.Assign(Image2.Picture);//aqui no guarda nada

No se si es por el tipo de dato o cual es mi error aqui
gracias por su ayuda como siempre.

Yun-i 13-10-2008 19:05:05

ya jeje


la linea quedo asi

Código Delphi [-]
dataMySQL.AdoPublicaCOT_IMAGEN.LoadFromFile(RzOpenDialog1.FileName);

Gracias por todo

ahora me marca un error al cargar los datos especificamente en la imagen,

el error dice Bitmap imagen is not valid

ya me fije y la foto si se guarda en la tabla cuando la llamo la llamo de la siguente forma


Código Delphi [-]
 Image2.Picture.Assign(DataMySQL.AdoPublicaCOT_IMAGEN.);

y ahi es donde manda el error creo que debo usar otra funcion. Gracias por ayudarme:)


La franja horaria es GMT +2. Ahora son las 15:32:50.

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