Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Principal > Conexión con bases de datos
Registrarse FAQ Miembros Calendario Guía de estilo Buscar Temas de Hoy Marcar Foros Como Leídos

Conexión con bases de datos

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 08-08-2007
jesusvp jesusvp is offline
Miembro
 
Registrado: jun 2007
Posts: 10
Poder: 0
jesusvp Va por buen camino
Post dbGrid insertar en fila y columna deseada un dato

Bueno me gustaria que me resolvieran una duda que tengo es que tengo un combox del cual selecciono uno de sus elementos y despues le presiono al boton para agregarlo a un dbgrid conectado a un query, pero no he podido insertar ningun elemento manual mas lo que inserta cuando muestro lo que obtiene el query, es decir, tengo tres columna en el dbgrid el usuario selecciona algo del combox y al presionar el boton que se agrege en la fila y columna deseada, no se si me explique bien en caso contrario diganmelo para tratar de expresarlo de otra manera, de ante mano les agradezco la molestia que se toman al tan solo leer
Responder Con Cita
  #2  
Antiguo 08-08-2007
[egostar] egostar is offline
Registrado
 
Registrado: feb 2006
Posts: 6.556
Poder: 25
egostar Va camino a la fama
Seria bueno que colocaras el código que utilizas para que se te pueda ayudar.

Salud OS
__________________
"La forma de empezar es dejar de hablar y empezar a hacerlo." - Walt Disney
Responder Con Cita
  #3  
Antiguo 08-08-2007
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.233
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
Normalmente debes pensar no en insertar en el DBGrid, sino en la fuente de Datos a la que está conectado el DBGrid.
En tu caso debes hacer el (APPEND..POST) en la Query o tabla que suministra los datos al DBGrid.
__________________
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
  #4  
Antiguo 08-08-2007
Avatar de PabloTech
PabloTech PabloTech is offline
Miembro
 
Registrado: ene 2007
Ubicación: Tucumán, Argentina
Posts: 82
Poder: 18
PabloTech Va por buen camino
Wink La inserción de filas en la tabla

Si tu componente de consulta (query) no tiene posibilidad de agregar registros o filas a la tabla sería algo así:
Código Delphi [-]
 
  // Primero se ingresa en la tabla de datos
  with QueryInsert do
  begin
    SQL.Close;
    SQL.Text := 'INSERT Tabla (Clave, Datos) VALUES(:clave, :datos);';
    ParamByName('clave').AsString := Edit1.Text;
    ParamByName('datos').AsString := ComboBox.Text;
    Prepare; // Opcional.
    ExecSQL;
  end;
  
  // Luego actualizas el Query que consulta esa tabla de datos
  Query.Refresh; // En algunos componentes no se usa Refresh, asi 
                 // es que se debe hacer Close y luego Open para
                 // actualizar la consulta.

En cambio, en otros componentes se puede incorporar la sentencia INSERT como una propiedad. De este modo se trabaja con APPEND... POST. como asi sugiere Neftali.
Código Delphi [-]
  // Actualiza la tabla de datos y refresca la consulta en la pantalla.
  with Query do
  begin
    Append;
    FieldByName('clave').AsString := Edit1.Text;
    FieldByName('datos').AsString := ComboBox.Text;
    Post;
  end;
También conviene que busques acerca de la propiedad RequestLive; y las instrucciones try... except, StartTransaction... Commit... Rollback.
__________________
Cita:
Cuando respetes al ilustrado y al ignorante, al rico y al pobre, al bello y al feo, estarás muy cerca de la sabiduría, que trasciende lo aparente.

E. Rharo
Responder Con Cita
  #5  
Antiguo 08-08-2007
jesusvp jesusvp is offline
Miembro
 
Registrado: jun 2007
Posts: 10
Poder: 0
jesusvp Va por buen camino
Red face creo que no me explique bien, gracias por molestase

tengo:
DBGridventadetalle: TDBGrid;
CBProductoID: TComboBox;
CBnombre: TComboBox;
CBprecio: TComboBox;
BtnAgregarProducto: TButton;
txtcantidaddeproducto: TEdit;


y en el DBGridventadetalle tengo las columnas una para el ProductoID, cantidaddeproducto, precio, y total

al momento que le doy click al boton btnagregarproducto quiero q me inserte lo que tengo seleccionado en el CBnombre , CBprecio, txtcantidaddeproducto y el ultimo campo obtenerlo mediante la multiplicacion de precio por cantidad


procedure TfrmVenta0.BtnAgregarProductoClick(Sender: TObject);
var
text : string;
lst : string;
begin
inherited;
//DBGridventadetalle.Columns[1].DisplayName :='1aq12';
//DBGridventadetalle.Columns[1].PickList.add('0')//:='23s2';
//DBGridventadetalle.Columns[1].FieldName ('venta_id') := 'ksd';
//DBGridventadetalle.Columns.Items[0].Title.Caption := 'ksd';
//e estado haciendo esto pero no me ha insertado nada
dbgridventadetalle.columns[1]. pienso que a de haber una opcion para agregar la fila ya q la columna ya esta seleccionada y ponerla en la propiedad de q sea una cadena de caracteres (asstring) o algun artificio = CBNombre.Items.ValueFromIndex[1];
end;

de hecho al verlo muy detenidamente creo que sale sobrando el query por q solo requiro que lo que inserte en el dbgridventadetalle lo guarde en la base de datos al darle click a un boton

si tendran unos tips para arreglar o utilizar otros componentes se los agradecere, pd soy algo nuevo en porgramacion en delphi y les pido que entre mas especificos en sus respuestas. Gracias a todos
Responder Con Cita
  #6  
Antiguo 08-08-2007
Avatar de PabloTech
PabloTech PabloTech is offline
Miembro
 
Registrado: ene 2007
Ubicación: Tucumán, Argentina
Posts: 82
Poder: 18
PabloTech Va por buen camino
Thumbs up Paso a paso

Un TDBGrid muestra los datos obtenidos con una consulta TQuery o TTable asociada con un TDataSource. El TDataSource tiene una propiedad TDataSet donde va el nombre del TQuery o TTable. El TDBGrid tiene una propiedad TDataSource donde va el nombre del TDataSource asociado a la consulta. Por eso es que vale lo que escribí anteriormente. Pero ahora lo haré más específico.

Por otro lado, no se cómo piensas operar los datos obtenidos de los combos pues deberían ser numéricos. Yo trataré de obtenerlos de todos modos.
Código Delphi [-]
 
  // Primero se ingresa en la tabla de datos
  with QueryInsert do 
  begin
    SQL.Close;
    SQL.Clear;
    SQL.Add('INSERT Tabla (ProductoID, cantidaddeproducto, precio, total)');
    SQL.Add('VALUES(:w_productoID, :w_cantidaddeproducto, :w_precio, :w_total);';
    ParamByName('w_ProductoID').AsString := CBProductoID.Text;
    ParamByName('w_CantidadDeProducto').AsInteger := StrToInt(CBCantidadDeProducto.Text);
    ParamByName('w_Precio').AsCurrency := StrToCurr(CBPrecio.Text);
    ParamByName('w_Total').AsCurrency := StrToCurr(CBPrecio.Text) * StrToInt(CBCantidadDeProducto.Text);
    Prepare; // Opcional. 
    ExecSQL; 
  end; 
  // Luego actualizas el Query que consulta esa tabla de datos 
  Query.Refresh; // En algunos componentes no se usa Refresh, asi 
                 // es que se debe hacer Close y luego Open para 
                 // actualizar la consulta.
__________________
Cita:
Cuando respetes al ilustrado y al ignorante, al rico y al pobre, al bello y al feo, estarás muy cerca de la sabiduría, que trasciende lo aparente.

E. Rharo

Última edición por PabloTech fecha: 08-08-2007 a las 18:39:58. Razón: Para evitar las caritas :P use el prefijo :w_
Responder Con Cita
  #7  
Antiguo 08-08-2007
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.233
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
Por favor, utiliza TGA's cuando escribas código delphi.
Revisa la Guía de estilo.
__________________
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


Herramientas Buscar en Tema
Buscar en Tema:

Búsqueda Avanzada
Desplegado

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
Hacer que una columna de un DbGrid aparezca distinta según valor Aprendiendo OOP 11 30-11-2018 15:47:20
Copiar una fila o columna de una grilla Marcela Varios 10 05-10-2006 18:59:41
cambiar color de fila y columna de un StringGrid1 gulder Varios 2 16-11-2005 18:05:42
Como capturo columna y fila pruz Varios 1 18-08-2005 15:53:30
Cambiar el tipo de dato de una columna !!! vpepen SQL 4 14-10-2004 19:17:17


La franja horaria es GMT +2. Ahora son las 12:16:46.


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