Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Principal > Varios
Registrarse FAQ Miembros Calendario Guía de estilo Temas de Hoy

Grupo de Teaming del ClubDelphi

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 03-07-2012
edgar_prospero edgar_prospero is offline
Miembro
NULL
 
Registrado: mar 2012
Posts: 202
Poder: 13
edgar_prospero Va por buen camino
grabar stringgrid en mysql

que hay amigos a ver quien puede ayudarme tengo un stringgrid al cual inserto valores por medio de edits pero lo que quiero lograr es esa informacion que tengo en el stringrid guardarla en mysql no se si esto sea posible lo intente de la siguiente manera pero no me funciono


Código Delphi [-]
procedure TForm4.Button3Click(Sender: TObject);
begin

  StringGrid1.Cells[3, StringGrid1.Row] := precio.Text;

             
tabla.SQL.Clear;
tabla.Close;

tabla.SQL.Add('insert into cobro(folio, cantidad, codigo, descripcion, unitario)values(: pfolio, : pcantidad, : pcodigo, : pdescripcion, : punitario) ');

tabla.ParamByName('folio').AsString:=StringGrid1.Cells[0, StringGrid1.Row];
tabla.ParamByName('cantidad').AsString:=StringGrid1.Cells[0, StringGrid1.Row];
tabla.ParamByName('codigo').AsString:=StringGrid1.Cells[0, StringGrid1.Row];
tabla.ParamByName('descripcion').AsString:=StringGrid1.Cells[0, StringGrid1.Row];
tabla.ParamByName('unitario').AsString:=StringGrid1.Cells[0, StringGrid1.Row];


tabla.ParamByName('pfolio').AsString:=folio.Text;

//StringGrid1.Cells[0, StringGrid1.Row]:= query.FieldByName('cantidad').asString;
//StringGrid1.Cells[0, StringGrid1.Row]:= query.FieldByName('folio').asString;

tabla.Execute;

Última edición por Casimiro Notevi fecha: 04-07-2012 a las 00:42:05.
Responder Con Cita
  #2  
Antiguo 03-07-2012
Avatar de kapcomx
kapcomx kapcomx is offline
Miembro
 
Registrado: jun 2007
Ubicación: Puebla México
Posts: 350
Poder: 17
kapcomx Va por buen camino
Cool veo caritas

no se que este pasando pero en mi pantalla veo caritas justo antes de los nombres de campos, lo copie a bloc de notas y no me muestra nada.

como sea creo que tienes que poner : antes del nombre del campo en la parte de values(:campo, :campo2).....

intentalo asi


Saludos....
__________________
un tipo al cual la sociedad no le tiene el mas mínimo respeto no puede ser presidente....
Responder Con Cita
  #3  
Antiguo 04-07-2012
edgar_prospero edgar_prospero is offline
Miembro
NULL
 
Registrado: mar 2012
Posts: 202
Poder: 13
edgar_prospero Va por buen camino
justamente eso de las caritas es : pcantidad pero me lo detecto como carita pero aun asi con los : no me funciona todavia
Responder Con Cita
  #4  
Antiguo 04-07-2012
Avatar de Casimiro Notevi
Casimiro Notevi Casimiro Notevi is offline
Moderador
 
Registrado: sep 2004
Ubicación: En algún lugar.
Posts: 32.044
Poder: 10
Casimiro Notevi Tiene un aura espectacularCasimiro Notevi Tiene un aura espectacular
Es que el :P (la 'p' minúscula) es la carita de burla
He puesto un espacio entre el "dos puntos" y la "p" en tu código.
Responder Con Cita
  #5  
Antiguo 04-07-2012
Avatar de Neftali [Germán.Estévez]
Neftali [Germán.Estévez] Neftali [Germán.Estévez] is offline
[becario]
 
Registrado: jul 2004
Ubicación: Barcelona - España
Posts: 18.286
Poder: 10
Neftali [Germán.Estévez] Es un diamante en brutoNeftali [Germán.Estévez] Es un diamante en brutoNeftali [Germán.Estévez] Es un diamante en bruto
Cuando dices que note funcionó, ¿A qué te refieres?
¿Que no pasó lo que esperabas? ¿Que dió error?

Deberías realizar un recorrido por las filas del StringGrid (cada fila 1 registro) y para cada fila utilizar un código similar al que has puesto para que cada celda se grabe en un campo de la tabla.
__________________
Germán Estévez => Web/Blog
Guía de estilo, Guía alternativa
Utiliza TAG's en tus mensajes.
Contactar con el Clubdelphi

P.D: Más tiempo dedicado a la pregunta=Mejores respuestas.
Responder Con Cita
  #6  
Antiguo 04-07-2012
edgar_prospero edgar_prospero is offline
Miembro
NULL
 
Registrado: mar 2012
Posts: 202
Poder: 13
edgar_prospero Va por buen camino
me marca un error que dice #21S0 column count doesn´t match value count at row1 el codigo que estoy usando es el siguiente

Código Delphi [-]
var i:integer;
begin

for i := 1 to StringGrid1.RowCount do
    Query.SQL.Clear;
    Query.SQL.Add('insert into cobro( cantidad, codigo, descripcion, unitario) values(:folio, :cantidad, :codigo, :descripcion, :unitario) ');

    Query.ParamByName('cantidad').AsString := stringGrid1.Cells[1, i] ;
    Query.ParamByName('codigo').AsString :=  stringGrid1.Cells[2, i];
    Query.ParamByName('descripcion').AsString :=  stringGrid1.Cells[3, i];
    Query.ParamByName('unitario').AsString :=  stringGrid1.Cells[4, i];

    Query.ExecSQL;
Responder Con Cita
  #7  
Antiguo 04-07-2012
edgar_prospero edgar_prospero is offline
Miembro
NULL
 
Registrado: mar 2012
Posts: 202
Poder: 13
edgar_prospero Va por buen camino
ya logre quitar el error pero sigue sin guardarme nada no me marca ningun error pero no guarda alguien que pueda ayudarme para ver que estoy haciendo mal
Responder Con Cita
  #8  
Antiguo 04-07-2012
Avatar de Neftali [Germán.Estévez]
Neftali [Germán.Estévez] Neftali [Germán.Estévez] is offline
[becario]
 
Registrado: jul 2004
Ubicación: Barcelona - España
Posts: 18.286
Poder: 10
Neftali [Germán.Estévez] Es un diamante en brutoNeftali [Germán.Estévez] Es un diamante en brutoNeftali [Germán.Estévez] Es un diamante en bruto
Intenta capturar el error con un Try..Except.

Código Delphi [-]

  try
    ...
    Query.ParamByName('descripcion').AsString :=  stringGrid1.Cells[3, i];
    Query.ParamByName('unitario').AsString :=  stringGrid1.Cells[4, i];


    Query.ExecSQL;
  except
    on E:Exception do begin
      MessageDlg(Format('Error: %s  Clase: %s',[E.Message, E.ClassName]), mtError, [mbOK], 0);
    end;
  end;

Eso te dará si hay algún error al ejecutar.
Por otro lado puedes ejecutar paso a paso y ver si hace todo el recorrido.
__________________
Germán Estévez => Web/Blog
Guía de estilo, Guía alternativa
Utiliza TAG's en tus mensajes.
Contactar con el Clubdelphi

P.D: Más tiempo dedicado a la pregunta=Mejores respuestas.
Responder Con Cita
  #9  
Antiguo 04-07-2012
edgar_prospero edgar_prospero is offline
Miembro
NULL
 
Registrado: mar 2012
Posts: 202
Poder: 13
edgar_prospero Va por buen camino
pues no me marca error y es que el folio que esta en un edit ese si me lo guarda el problema esta con el stringgrid que me aparecen ceros en la base de datos
Responder Con Cita
  #10  
Antiguo 04-07-2012
Avatar de Neftali [Germán.Estévez]
Neftali [Germán.Estévez] Neftali [Germán.Estévez] is offline
[becario]
 
Registrado: jul 2004
Ubicación: Barcelona - España
Posts: 18.286
Poder: 10
Neftali [Germán.Estévez] Es un diamante en brutoNeftali [Germán.Estévez] Es un diamante en brutoNeftali [Germán.Estévez] Es un diamante en bruto
Puedes hacer otra cosa, generar la sentencias sin parámetros y visualizara antes de insertar, al menos para ver qué está generando:
Por cierto, ahora que veo tienes 4 campos y 5 parámetros en la SQL.

Código Delphi [-]

for i := 1 to StringGrid1.RowCount do
    Query.SQL.Clear;
    Str := 'insert into cobro( cantidad, codigo, descripcion, unitario) values(%s, %s, %s %s) ';
 

    // NOTA: A los que sean tipo String hay que añadirles la función QuotedStr
    Str := Format (Str, [stringGrid1.Cells[1, i],
                                stringGrid1.Cells[2, i]. 
                                QuotedStr(stringGrid1.Cells[3, i]), 
                                stringGrid1.Cells[4, i]  ]);

    MessageDlg(Format('SQL: %s  ',[Str]), mtInformation, [mbOK], 0);   

    Query.SQL.Text := Str;
    // ejecutarla
    Query.ExecSQL;
end;
__________________
Germán Estévez => Web/Blog
Guía de estilo, Guía alternativa
Utiliza TAG's en tus mensajes.
Contactar con el Clubdelphi

P.D: Más tiempo dedicado a la pregunta=Mejores respuestas.
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
stringgrid en celda de otro stringgrid?? noodle_ OOP 3 17-06-2008 13:36:01
grabar bmp jsanchez Gráficos 0 24-07-2006 19:11:12
Grabar, concatenar, y mas.. zugazua2001 Varios 4 11-11-2005 19:10:59
grabar cd lic_francisco Varios 4 24-05-2005 11:24:49
Grabar un CD pascalutn2003 Varios 2 24-12-2004 11:29:04


La franja horaria es GMT +2. Ahora son las 21:12:25.


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