Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

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

Grupo de Teaming del ClubDelphi

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 24-02-2012
gianfranco_tont gianfranco_tont is offline
Miembro
NULL
 
Registrado: ene 2012
Posts: 96
Poder: 13
gianfranco_tont Va por buen camino
Wink clientdataset no me guarda la informacion en DB

Hola foro estoy trabajando con clientdataset en dbgrid: explico: el dbgrid atado al datasource, el datasource al clientdataset, el clientdatase al provider y finalmente el provider al adoquery. por alguna razon cualdo le doy al buton2 (Guardar) no me guarda la informacion que tengo el grid a la base de dato.

Código Delphi [-]
unit Unitajuste2;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, Grids, DBGrids, StdCtrls, ComCtrls, DB, Provider, DBClient, ADODB,
  Buttons, pngimage, ExtCtrls;

type
  TFormajuste2 = class(TForm)
    PageControl1: TPageControl;
    Edit1: TEdit;
    Edit2: TEdit;
    DBGrid1: TDBGrid;
    ADOQuery1: TADOQuery;
    ClientDataSet1: TClientDataSet;
    DataSource1: TDataSource;
    DataSetProvider1: TDataSetProvider;
    ADOQuery1ajue_num: TIntegerField;
    ADOQuery1reng_num: TIntegerField;
    ADOQuery1art_desc: TMemoField;
    ADOQuery1tipo: TStringField;
    ADOQuery1co_art: TStringField;
    ADOQuery1total_art: TFMTBCDField;
    ADOQuery1uni_compra: TStringField;
    ADOQuery1stotal_art: TFMTBCDField;
    ADOQuery1suni_compr: TStringField;
    ADOQuery1co_alma: TStringField;
    ADOQuery1cost_unit_om: TFMTBCDField;
    ADOQuery1cost_unit: TFMTBCDField;
    ADOQuery1feccom: TDateTimeField;
    ADOQuery1numcom: TIntegerField;
    ADOQuery1uni_venta: TStringField;
    ADOQuery1suni_venta: TStringField;
    ADOQuery1cos_pro_un: TFMTBCDField;
    ADOQuery1ult_cos_om: TFMTBCDField;
    ADOQuery1cos_pro_om: TFMTBCDField;
    ADOQuery1rowguid: TGuidField;
    ADOQuery1total_uni: TFMTBCDField;
    ADOQuery1nro_lote: TStringField;
    ADOQuery1fec_lote: TDateTimeField;
    ADOQuery1pendiente2: TFMTBCDField;
    ADOQuery1tipo_doc2: TStringField;
    ADOQuery1reng_doc2: TIntegerField;
    ADOQuery1num_doc2: TIntegerField;
    ADOQuery1aux01: TFMTBCDField;
    ADOQuery1aux02: TStringField;
    ADOQuery1mo_cant: TFMTBCDField;
    ADOQuery1gf_cant: TFMTBCDField;
    ADOQuery1mo_cant_om: TFMTBCDField;
    ADOQuery1gf_cant_om: TFMTBCDField;
    ADOQuery1produccion: TBooleanField;
    ClientDataSet1ajue_num: TIntegerField;
    ClientDataSet1reng_num: TIntegerField;
    ClientDataSet1art_desc: TMemoField;
    ClientDataSet1tipo: TStringField;
    ClientDataSet1co_art: TStringField;
    ClientDataSet1total_art: TFMTBCDField;
    ClientDataSet1uni_compra: TStringField;
    ClientDataSet1stotal_art: TFMTBCDField;
    ClientDataSet1suni_compr: TStringField;
    ClientDataSet1co_alma: TStringField;
    ClientDataSet1cost_unit_om: TFMTBCDField;
    ClientDataSet1cost_unit: TFMTBCDField;
    ClientDataSet1feccom: TDateTimeField;
    ClientDataSet1numcom: TIntegerField;
    ClientDataSet1uni_venta: TStringField;
    ClientDataSet1suni_venta: TStringField;
    ClientDataSet1cos_pro_un: TFMTBCDField;
    ClientDataSet1ult_cos_om: TFMTBCDField;
    ClientDataSet1cos_pro_om: TFMTBCDField;
    ClientDataSet1rowguid: TGuidField;
    ClientDataSet1total_uni: TFMTBCDField;
    ClientDataSet1nro_lote: TStringField;
    ClientDataSet1fec_lote: TDateTimeField;
    ClientDataSet1pendiente2: TFMTBCDField;
    ClientDataSet1tipo_doc2: TStringField;
    ClientDataSet1reng_doc2: TIntegerField;
    ClientDataSet1num_doc2: TIntegerField;
    ClientDataSet1aux01: TFMTBCDField;
    ClientDataSet1aux02: TStringField;
    ClientDataSet1mo_cant: TFMTBCDField;
    ClientDataSet1gf_cant: TFMTBCDField;
    ClientDataSet1mo_cant_om: TFMTBCDField;
    ClientDataSet1gf_cant_om: TFMTBCDField;
    ClientDataSet1produccion: TBooleanField;
    Edit6: TEdit;
    Edit5: TEdit;
    Image3: TImage;
    Label6: TLabel;
    SpeedButton3: TSpeedButton;
    Image2: TImage;
    Label5: TLabel;
    SpeedButton2: TSpeedButton;
    Image1: TImage;
    Label4: TLabel;
    SpeedButton1: TSpeedButton;
    ADOQuerycodajuste: TADOQuery;
    ADOQuerycodajusteajue_num: TIntegerField;
    ADOQuerycodajustefecha: TDateTimeField;
    ADOQuerycodajustemotivo: TStringField;
    ADOQuerycodajustetotal: TFMTBCDField;
    ADOQuerycodajusteseriales: TIntegerField;
    ADOQuerycodajustefeccom: TDateTimeField;
    ADOQuerycodajustenumcom: TIntegerField;
    ADOQuerycodajustetasa: TFMTBCDField;
    ADOQuerycodajustemoneda: TStringField;
    ADOQuerycodajustedis_cen: TMemoField;
    ADOQuerycodajustecampo1: TStringField;
    ADOQuerycodajustecampo2: TStringField;
    ADOQuerycodajustecampo3: TStringField;
    ADOQuerycodajustecampo4: TStringField;
    ADOQuerycodajustecampo5: TStringField;
    ADOQuerycodajustecampo6: TStringField;
    ADOQuerycodajustecampo7: TStringField;
    ADOQuerycodajustecampo8: TStringField;
    ADOQuerycodajusteco_us_in: TStringField;
    ADOQuerycodajustefe_us_in: TDateTimeField;
    ADOQuerycodajusteco_us_mo: TStringField;
    ADOQuerycodajustefe_us_mo: TDateTimeField;
    ADOQuerycodajusteco_us_el: TStringField;
    ADOQuerycodajustefe_us_el: TDateTimeField;
    ADOQuerycodajusterevisado: TStringField;
    ADOQuerycodajustetrasnfe: TStringField;
    ADOQuerycodajusteco_sucu: TStringField;
    ADOQuerycodajusterowguid: TGuidField;
    ADOQuerycodajusteanulada: TBooleanField;
    ADOQuerycodajusteaux01: TFMTBCDField;
    ADOQuerycodajusteaux02: TStringField;
    ADOQuerycodajusteproduccion: TBooleanField;
    ADOQuerycodajusteimp_num: TIntegerField;
    ADOQuerycodajustefact_num: TIntegerField;
    ADOQuerycodart: TADOQuery;
    ADOQuerycodartco_art: TStringField;
    ADOQuerycodartart_des: TStringField;
    ADOQuerycodartfecha_reg: TDateTimeField;
    ADOQuerycodartmanj_ser: TBooleanField;
    ADOQuerycodartco_lin: TStringField;
    ADOQuerycodartco_cat: TStringField;
    ADOQuerycodartco_subl: TStringField;
    ADOQuerycodartco_color: TStringField;
    ADOQuerycodartitem: TStringField;
    ADOQuerycodartref: TStringField;
    ADOQuerycodartmodelo: TStringField;
    ADOQuerycodartprocedenci: TStringField;
    ADOQuerycodartcomentario: TMemoField;
    ADOQuerycodartco_prov: TStringField;
    ADOQuerycodartubicacion: TStringField;
    ADOQuerycodartuni_venta: TStringField;
    ADOQuerycodartuni_compra: TStringField;
    ADOQuerycodartuni_relac: TFMTBCDField;
    ADOQuerycodartrelac_aut: TIntegerField;
    ADOQuerycodartstock_act: TFMTBCDField;
    ADOQuerycodartstock_com: TFMTBCDField;
    ADOQuerycodartsstock_com: TFMTBCDField;
    ADOQuerycodartstock_lle: TFMTBCDField;
    ADOQuerycodartsstock_lle: TFMTBCDField;
    ADOQuerycodartstock_des: TFMTBCDField;
    ADOQuerycodartsstock_des: TFMTBCDField;
    ADOQuerycodartsuni_venta: TStringField;
    ADOQuerycodartsuni_compr: TStringField;
    ADOQuerycodartsuni_relac: TBCDField;
    ADOQuerycodartsstock_act: TFMTBCDField;
    ADOQuerycodartrelac_comp: TFMTBCDField;
    ADOQuerycodartrelac_vent: TFMTBCDField;
    ADOQuerycodartpto_pedido: TFMTBCDField;
    ADOQuerycodartstock_max: TFMTBCDField;
    ADOQuerycodartstock_min: TFMTBCDField;
    ADOQuerycodartprec_om: TBooleanField;
    ADOQuerycodartprec_vta1: TFMTBCDField;
    ADOQuerycodartfec_prec_v: TDateTimeField;
    ADOQuerycodartfec_prec_2: TDateTimeField;
    ADOQuerycodartprec_vta2: TFMTBCDField;
    ADOQuerycodartfec_prec_3: TDateTimeField;
    ADOQuerycodartprec_vta3: TFMTBCDField;
    ADOQuerycodartfec_prec_4: TDateTimeField;
    ADOQuerycodartprec_vta4: TFMTBCDField;
    ADOQuerycodartfec_prec_5: TDateTimeField;
    ADOQuerycodartprec_vta5: TFMTBCDField;
    ADOQuerycodartprec_agr1: TFMTBCDField;
    ADOQuerycodartprec_agr2: TFMTBCDField;
    ADOQuerycodartprec_agr3: TFMTBCDField;
    ADOQuerycodartprec_agr4: TFMTBCDField;
    ADOQuerycodartprec_agr5: TFMTBCDField;
    ADOQuerycodartcan_agr: TFMTBCDField;
    ADOQuerycodartfec_des_p5: TDateTimeField;
    ADOQuerycodartfec_has_p5: TDateTimeField;
    ADOQuerycodartco_imp: TStringField;
    ADOQuerycodartmargen_max: TBCDField;
    ADOQuerycodartult_cos_un: TFMTBCDField;
    ADOQuerycodartfec_ult_co: TDateTimeField;
    ADOQuerycodartcos_pro_un: TFMTBCDField;
    ADOQuerycodartfec_cos_pr: TDateTimeField;
    ADOQuerycodartcos_merc: TFMTBCDField;
    ADOQuerycodartfec_cos_me: TDateTimeField;
    ADOQuerycodartcos_prov: TFMTBCDField;
    ADOQuerycodartfec_cos_p2: TDateTimeField;
    ADOQuerycodartult_cos_do: TFMTBCDField;
    ADOQuerycodartfec_cos_do: TDateTimeField;
    ADOQuerycodartcos_un_an: TFMTBCDField;
    ADOQuerycodartfec_cos_an: TDateTimeField;
    ADOQuerycodartult_cos_om: TFMTBCDField;
    ADOQuerycodartfec_ult_om: TDateTimeField;
    ADOQuerycodartcos_pro_om: TFMTBCDField;
    ADOQuerycodartfec_pro_om: TDateTimeField;
    ADOQuerycodarttipo_cos: TStringField;
    ADOQuerycodartmont_comi: TBCDField;
    ADOQuerycodartporc_cos: TBCDField;
    ADOQuerycodartmont_cos: TBCDField;
    ADOQuerycodartporc_gas: TBCDField;
    ADOQuerycodartmont_gas: TBCDField;
    ADOQuerycodartf_cost: TDateTimeField;
    ADOQuerycodartfisico: TBooleanField;
    ADOQuerycodartpunt_cli: TBCDField;
    ADOQuerycodartpunt_pro: TBCDField;
    ADOQuerycodartdias_repos: TIntegerField;
    ADOQuerycodarttipo: TStringField;
    ADOQuerycodartalm_prin: TStringField;
    ADOQuerycodartanulado: TBooleanField;
    ADOQuerycodarttipo_imp: TStringField;
    ADOQuerycodartdis_cen: TMemoField;
    ADOQuerycodartmon_ilc: TFMTBCDField;
    ADOQuerycodartcapacidad: TBCDField;
    ADOQuerycodartgrado_al: TBCDField;
    ADOQuerycodarttipo_licor: TStringField;
    ADOQuerycodartcompuesto: TBooleanField;
    ADOQuerycodartpicture: TBlobField;
    ADOQuerycodartcodigo1: TStringField;
    ADOQuerycodartcodigo2: TStringField;
    ADOQuerycodartcodigo3: TStringField;
    ADOQuerycodartcodigo4: TStringField;
    ADOQuerycodartcodigo5: TStringField;
    ADOQuerycodartcodigo6: TStringField;
    ADOQuerycodartcodigo7: TStringField;
    ADOQuerycodartcodigo8: TStringField;
    ADOQuerycodartco_us_in: TStringField;
    ADOQuerycodartfe_us_in: TDateTimeField;
    ADOQuerycodartco_us_mo: TStringField;
    ADOQuerycodartfe_us_mo: TDateTimeField;
    ADOQuerycodartco_us_el: TStringField;
    ADOQuerycodartfe_us_el: TDateTimeField;
    ADOQuerycodartrevisado: TStringField;
    ADOQuerycodarttrasnfe: TStringField;
    ADOQuerycodartco_sucu: TStringField;
    ADOQuerycodartrowguid: TGuidField;
    ADOQuerycodarttuni_venta: TStringField;
    ADOQuerycodartequi_uni1: TFMTBCDField;
    ADOQuerycodartequi_uni2: TFMTBCDField;
    ADOQuerycodartequi_uni3: TFMTBCDField;
    ADOQuerycodartlote: TBooleanField;
    ADOQuerycodartserialp: TStringField;
    ADOQuerycodartvalido: TBooleanField;
    ADOQuerycodartatributo1: TBooleanField;
    ADOQuerycodartvatributo1: TStringField;
    ADOQuerycodartatributo2: TBooleanField;
    ADOQuerycodartvatributo2: TStringField;
    ADOQuerycodartatributo3: TBooleanField;
    ADOQuerycodartvatributo3: TStringField;
    ADOQuerycodartatributo4: TBooleanField;
    ADOQuerycodartvatributo4: TStringField;
    ADOQuerycodartatributo5: TBooleanField;
    ADOQuerycodartvatributo5: TStringField;
    ADOQuerycodartatributo6: TBooleanField;
    ADOQuerycodartvatributo6: TStringField;
    ADOQuerycodartgarantia: TStringField;
    ADOQuerycodartpeso: TFMTBCDField;
    ADOQuerycodartpie: TFMTBCDField;
    ADOQuerycodartmargen1: TBCDField;
    ADOQuerycodartmargen2: TBCDField;
    ADOQuerycodartmargen3: TBCDField;
    ADOQuerycodartmargen4: TBCDField;
    ADOQuerycodartmargen5: TBCDField;
    ADOQuerycodartrow_id: TBytesField;
    ADOQuerycodartimagen1: TStringField;
    ADOQuerycodartimagen2: TStringField;
    ADOQuerycodarti_art_des: TStringField;
    ADOQuerycodartuni_emp: TStringField;
    ADOQuerycodartrel_emp: TFMTBCDField;
    ADOQuerycodartmovil: TBooleanField;
    ADOQuerycodarttot_costo: TFMTBCDField;
    ClientDataSet1total: TFloatField;
    procedure DBGrid1EditButtonClick(Sender: TObject);
    procedure DBGrid1KeyPress(Sender: TObject; var Key: Char);
    procedure ClientDataSet1CalcFields(DataSet: TDataSet);
    procedure ClientDataSet1NewRecord(DataSet: TDataSet);
    procedure SpeedButton1Click(Sender: TObject);
  private
    { Private declarations }
  public
    { Public declarations }
  end;

var
  Formajuste2: TFormajuste2;
  Lin: Integer;

implementation
uses unit1, unitconsultatipoaju, UNITSELECTPROD, UNITLISTAJU;

{$R *.dfm}

procedure TFormajuste2.ClientDataSet1CalcFields(DataSet: TDataSet);
begin
  ClientDataSet1.FieldByName('Total').AsFloat:=
  ClientDataSet1.FieldByName('cost_unit').AsFloat *
  ClientDataSet1.FieldByName('total_art').AsInteger;
end;

procedure TFormajuste2.ClientDataSet1NewRecord(DataSet: TDataSet);
begin
   inc(lin);
   ClientDataSet1reng_num.asfloat := Lin;//ClientDataSet1.RecordCount;
end;

procedure TFormajuste2.DBGrid1EditButtonClick(Sender: TObject);
begin
    if dbgrid1.selectedindex = 0 then
    begin
    ClientDataSet1reng_num.Value := DBGrid1.DataSource.DataSet.RecordCount;
    end;
    if Dbgrid1.SelectedIndex = 1 then
    begin
    Application.CreateForm(TFormconsultatipoaju, Formconsultatipoaju);
    if Formconsultatipoaju.ShowModal = mrOk then
      begin
      if ClientDataSet1.State in [dsEdit, dsInsert] then
      else
      ClientDataSet1.Edit;
      ClientDataSet1tipo.AsString := Formconsultatipoaju.ADOQuery1co_tipo.AsString;
      Edit6.Text := Formconsultatipoaju.ADOQuery1des_tipo.AsString;
      dbgrid1.selectedIndex := 3;
   end;
   begin
    if Dbgrid1.SelectedIndex = 3 then
      begin
      Application.CreateForm(TFormselectprod, Formselectprod);
      if Formselectprod.ShowModal = mrOk then
   begin
      if  ClientDataSet1.State in [dsEdit, dsInsert] then
      else
      ClientDataSet1.Edit;
      ClientDataSet1cost_unit.AsString  := FormSelectProd.ADOQuery1cos_pro_un.AsString;
      ClientDataSet1co_art.AsString := Formselectprod.ADOQuery1co_art.AsString;
      ClientDataSet1uni_venta.AsString := FormSelectProd.ADOQuery1uni_venta.asstring;
      Edit5.Text := FormSelectProd.ADOQuery1art_des.AsString;
      if ClientDataSet1tipo.AsString  = 'CP' then
      dbgrid1.SelectedIndex := 6
      else
      dbgrid1.SelectedIndex := 4;
end;
      end;
   end;
    end;
end;
procedure TFormajuste2.DBGrid1KeyPress(Sender: TObject; var Key: Char);
begin
    if Key = #13 then
   begin
      if Dbgrid1.SelectedIndex = 0 then
         Dbgrid1.SelectedIndex := 1
      else if Dbgrid1.SelectedIndex = 1 then
         Dbgrid1.SelectedIndex := 2
      else if Dbgrid1.SelectedIndex = 2 then
         Dbgrid1.SelectedIndex := 3
      else if Dbgrid1.SelectedIndex = 3 then
         Dbgrid1.SelectedIndex := 4
      else if Dbgrid1.SelectedIndex = 4 then
         Dbgrid1.SelectedIndex := 6
      else if Dbgrid1.SelectedIndex = 6 then
         begin
         Dbgrid1.SelectedIndex := 1;
         ClientDataSet1.Append;
         end;
end;
end;

procedure TFormajuste2.SpeedButton1Click(Sender: TObject);
begin
    ClientDataSet1.ApplyUpdates( 0 );
end;

end.

Agradeceria su ayuda
Responder Con Cita
  #2  
Antiguo 24-02-2012
Avatar de Al González
[Al González] Al González is offline
In .pas since 1991
 
Registrado: may 2003
Posts: 5.604
Poder: 30
Al González Es un diamante en brutoAl González Es un diamante en brutoAl González Es un diamante en brutoAl González Es un diamante en bruto
Hola.

Creo que para ir descartando podrías verificar cuál es el valor de la propiedad ClientDataSet1.ChangeCount justo antes de hacer el ApplyUpdates.
Responder Con Cita
  #3  
Antiguo 24-02-2012
gianfranco_tont gianfranco_tont is offline
Miembro
NULL
 
Registrado: ene 2012
Posts: 96
Poder: 13
gianfranco_tont Va por buen camino
ya los hice y tampoco

procedure TFormajuste2.SpeedButton1Click(Sender: TObject);
begin
if ClientDataSet1.ChangeCount > 0 then
begin
ClientDataSet1.ApplyUpdates( 0 );
end;
end;

Última edición por gianfranco_tont fecha: 24-02-2012 a las 23:29:26.
Responder Con Cita
  #4  
Antiguo 24-02-2012
Avatar de Al González
[Al González] Al González is offline
In .pas since 1991
 
Registrado: may 2003
Posts: 5.604
Poder: 30
Al González Es un diamante en brutoAl González Es un diamante en brutoAl González Es un diamante en brutoAl González Es un diamante en bruto
Podrías usar el depurador, colocando un punto de ruptura en la primera sentencia del método SpeedButton1Click.

O algo más rudimentario como:

Código Delphi [-]
procedure TFormajuste2.SpeedButton1Click(Sender: TObject);
begin
    ShowMessage (IntToStr (ClientDataSet1.ChangeCount));
    ClientDataSet1.ApplyUpdates( 0 );
end;

Sólo si ChangeCount es > 0 es que realmente hay algo que enviar a la base de datos.
Responder Con Cita
  #5  
Antiguo 24-02-2012
gianfranco_tont gianfranco_tont is offline
Miembro
NULL
 
Registrado: ene 2012
Posts: 96
Poder: 13
gianfranco_tont Va por buen camino
el resultado es 1
Responder Con Cita
  #6  
Antiguo 24-02-2012
Avatar de Al González
[Al González] Al González is offline
In .pas since 1991
 
Registrado: may 2003
Posts: 5.604
Poder: 30
Al González Es un diamante en brutoAl González Es un diamante en brutoAl González Es un diamante en brutoAl González Es un diamante en bruto
Muy bien, ya descartaste una causa.

Ahora unas preguntas de mayor profundidad:

¿A qué motor de base de datos se conecta ADOQuery1? (algo que ayuda mucho mencionar en cualquier consulta en los foros).

¿Qué valor tiene en el inspector de objetos la propiedad ResolveToDataSet del componente DataSetProvider1?

¿De qué manera estás comprobando que la información realmente no se guarda en la base de datos? (algo que también es importante mencionar de un inicio).

Esperamos tus tres respuestas.
Responder Con Cita
  #7  
Antiguo 25-02-2012
Avatar de roman
roman roman is offline
Moderador
 
Registrado: may 2003
Ubicación: Ciudad de México
Posts: 20.269
Poder: 10
roman Es un diamante en brutoroman Es un diamante en brutoroman Es un diamante en bruto
Yo añado esta pregunta:

¿Qué valor tienen las propiedades LockType y CursorType del ADOQuery?

// Saludos
Responder Con Cita
  #8  
Antiguo 25-02-2012
gianfranco_tont gianfranco_tont is offline
Miembro
NULL
 
Registrado: ene 2012
Posts: 96
Poder: 13
gianfranco_tont Va por buen camino
Cita:
Empezado por Al González Ver Mensaje
Muy bien, ya descartaste una causa.

Ahora unas preguntas de mayor profundidad:

¿A qué motor de base de datos se conecta ADOQuery1? (algo que ayuda mucho mencionar en cualquier consulta en los foros).

¿Qué valor tiene en el inspector de objetos la propiedad ResolveToDataSet del componente DataSetProvider1?

¿De qué manera estás comprobando que la información realmente no se guarda en la base de datos? (algo que también es importante mencionar de un inicio).

Esperamos tus tres respuestas.
1. El motor de Base de datos es SQL SERVER 2008.
2. False
3. entro en Manager estudio del SQL busco la tabla y le doy un select * from det_ajuste y no me aparece nada en apsoluto.
Responder Con Cita
  #9  
Antiguo 25-02-2012
gianfranco_tont gianfranco_tont is offline
Miembro
NULL
 
Registrado: ene 2012
Posts: 96
Poder: 13
gianfranco_tont Va por buen camino
Cita:
Empezado por roman Ver Mensaje
Yo añado esta pregunta:

¿Qué valor tienen las propiedades LockType y CursorType del ADOQuery?

// Saludos
el cursor type esta en ctKeyset
y el locktipe esta en ltOptimistic
Responder Con Cita
  #10  
Antiguo 25-02-2012
Avatar de Al González
[Al González] Al González is offline
In .pas since 1991
 
Registrado: may 2003
Posts: 5.604
Poder: 30
Al González Es un diamante en brutoAl González Es un diamante en brutoAl González Es un diamante en brutoAl González Es un diamante en bruto
Gracias por responder.

Me suena a que esté faltando confirmar la transacción.

Es decir, puede que los datos sí sean enviados a la base de datos, pero que falte hacer el "commit". Con ello los nuevos registros existirán también para otras conexiones / programas. Mientras no se confirme la transacción, los demás procesos no pueden ver esos registros.

¿Usas un componente TADOConnection o la propiedad ConnectionString del componente ADOQuery1?

Agrego: Por cierto, ¿en qué versión de Delphi? (otro dato básico)

Última edición por Al González fecha: 25-02-2012 a las 00:44:44.
Responder Con Cita
  #11  
Antiguo 25-02-2012
gianfranco_tont gianfranco_tont is offline
Miembro
NULL
 
Registrado: ene 2012
Posts: 96
Poder: 13
gianfranco_tont Va por buen camino
Cita:
Empezado por Al González Ver Mensaje
Gracias por responder.

Me suena a que esté faltando confirmar la transacción.

Es decir, puede que los datos sí sean enviados a la base de datos, pero que falte hacer el "commit". Con ello los nuevos registros existirán también para otras conexiones / programas. Mientras no se confirme la transacción, los demás procesos no pueden ver esos registros.

¿Usas un componente TADOConnection o la propiedad ConnectionString del componente ADOQuery1?

Agrego: Por cierto, ¿en qué versión de Delphi? (otro dato básico)
Tadoconections y estoy usando delphi 209
Responder Con Cita
  #12  
Antiguo 25-02-2012
Avatar de Al González
[Al González] Al González is offline
In .pas since 1991
 
Registrado: may 2003
Posts: 5.604
Poder: 30
Al González Es un diamante en brutoAl González Es un diamante en brutoAl González Es un diamante en brutoAl González Es un diamante en bruto
OK, tengo mucho tiempo de no usar ADO (para MS SQL Server yo emplearía mejor dbExpress, pero eso podría tratarse en otro tema).

Después de hacer el ApplyUpdates, coloca la sentencia:
Código Delphi [-]
conexión.CommitTrans;
Donde "conexión" sería el objeto TADOConnection que estás usando.

Estando en eso, sería útil revisar qué valor trae la propiedad de tipo Boolean InTransaction de ese objeto conexión, justo después del ApplyUpdates y antes del CommitTrans.
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
No guarda los registros Minio Conexión con bases de datos 2 25-02-2008 11:30:06
Guarda el ADN en la casa jhonny La Taberna 9 05-03-2007 18:22:49
No guarda los cambios hechos lucasarts_18 MS SQL Server 1 06-10-2006 03:55:21
Guarda imágenes metalfox6383 Varios 4 21-08-2005 00:05:19
Por Que No Me Guarda Los Indices? Legolas Conexión con bases de datos 0 17-11-2003 22:37:05


La franja horaria es GMT +2. Ahora son las 04:54:17.


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