Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   MySQL (https://www.clubdelphi.com/foros/forumdisplay.php?f=21)
-   -   Error al momento de guardar (https://www.clubdelphi.com/foros/showthread.php?t=29705)

Nathan 30-01-2006 18:44:26

Error al momento de guardar
 
Hola a todos
soy nuevo en esto de mysql, estoy usando para la conexcion ADO ya puedo mostrar los datos de una tabla ... el problema me sale cuando quiero almacenar datos a una tabla.

El codigo del formulario es :
Código:

    Datos.Actualizar.SQL.Clear;
    Datos.Actualizar.SQL.Add('INSERT INTO persona (Nombre,Ocupacion'+'Telefono)values(');
    Datos.Actualizar.SQL.Add(eNombre.Text+''','''+
                            eOcupacion.Text+''','''+
                            eTelefono.Text+''')');
    Datos.Actualizar.ExecSQL;

donde Datos es mi unidad modulo y Actualizar es un TADOQuery

el error que sale es : Missing Connection or ConnectionString


Gracias de antemano por su ayuda y esperando su pronta respuesta me despido.

Nathan.

roman 30-01-2006 19:14:06

Cita:

Empezado por Nathan
el error que sale es : Missing Connection or ConnectionString

Pues el problema parece muy simple. Una de dos, o le pones la cadena de conexión al ADOQuery o lo enlazas al ADOConnection que estés usando.

// Saludos

ContraVeneno 30-01-2006 20:41:08

Cita:

Empezado por Nathan
Código Delphi [-]
Datos.Actualizar.SQL.Add('INSERT INTO persona (Nombre,Ocupacion'+'Telefono)values(');
    Datos.Actualizar.SQL.Add(eNombre.Text+''','''+
                             eOcupacion.Text+''','''+
                             eTelefono.Text+''')');

el resultado de eso sería:
Código:

INSERT INTO persona (Nombre,OcupacionTelefono)values(
Nombre','Ocupa','Tel')

Prueba con:
Código Delphi [-]
with datos.actualizar.sql begin
 Add('INSERT INTO persona (Nombre,Ocupacion,Telefono)values(');
 Add(quotedstr(eNombre.Text)+',');
 Add(quotedstr(eOcupacion.Text)+',');
 Add(quotedstr(eTelefono.Text)+')');
end; //with

Nathan 31-01-2006 01:41:47

Holas
gracias roman y ContraVeneno al fin me di cuenta el error q cometia :D , primero ADOQuery no estaba enlazado con el ADOConnection y segundo mi syntaxi en el code de insertar anda mal asi que probe

Código:

with datos.actualizar.sql do
begin
 Add('INSERT INTO persona (Nombre,Ocupacion,Telefono)values(');
 Add(quotedstr(eNombre.Text)+',');
 Add(quotedstr(eOcupacion.Text)+',');
 Add(quotedstr(eTelefono.Text)+')');
end; //with
 
Datos.Actualizar.ExecSQL;

hasta ahi todo bien, pero me di cuenta que no se actualizaba en el dbgrid los cambios hecho (tb lei en unos hilos lei que tenian el mismo problema), asi que en el formulario q mostraba los datos de la tabla puse lo siguiente :

Código:

  Addpersona.ShowModal; // form de add persona
  QPersona.Close;
  QPersona.Open;
  QPersona.Refresh;

donde QPersona es un TADOQuery enlazado con el dbgrid.

Con esto recien se puede ver los cambios hechos en la tabla, nose si estare cometiendo un error a futuro haciendo esto ... si alguien sabe le agradeceria su consejo.


Nathan.


La franja horaria es GMT +2. Ahora son las 17:33:22.

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