Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Bases de datos > MS SQL Server
Registrarse FAQ Miembros Calendario Guía de estilo Temas de Hoy

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 21-08-2017
Avatar de ecfisa
ecfisa ecfisa is offline
Moderador
 
Registrado: dic 2005
Ubicación: Tres Arroyos, Argentina
Posts: 10.508
Poder: 36
ecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to behold
Hola.

No especificas con que DB ni la versión de Delphi con que estas trabajando pero revisa si este enlace, que trata sobre el mismo error, te aporta la solución:
Saludos
__________________
Daniel Didriksen

Guía de estilo - Uso de las etiquetas - La otra guía de estilo ....
Responder Con Cita
  #2  
Antiguo 22-08-2017
LIGERO LIGERO is offline
Miembro
 
Registrado: jun 2007
Posts: 42
Poder: 0
LIGERO Va por buen camino
Buenas Ecfisa.

Gracias por contestar
Sigo con el mismo problema.
Mi DB es SQLServer 2008 y mi delphi EX3.

Tengo un formulario sencillo con dos TDBEdit, un TDBimage, con datos del registro, un Edit donde pongo la referencia del artículo y dos botones, uno para buscar el artículo a través del parámetro REFPROVEEDOR y otro para cargar una imagen jpg en el TDBImage.
Hasta ahí todo bien hasta que ejecutamos la sentencia

Código Delphi [-]
 if (ClientDataSet1.ChangeCount > 0) then
        ClientDataSet1.ApplyUpdates(-1);


que es donde da el error.

Adjunto código por si se ve algo extraño


Código Delphi [-]
unit Unit1;

interface

uses
  Winapi.Windows, Winapi.Messages, System.SysUtils, System.Variants, System.Classes, Vcl.Graphics,
  Vcl.Controls, Vcl.Forms, Vcl.Dialogs, Data.DBXMSSQL, Data.FMTBcd,
  Vcl.ExtCtrls, Vcl.DBCtrls, Data.DB, Data.SqlExpr, Datasnap.DBClient,
  Datasnap.Provider, Vcl.StdCtrls, Vcl.Mask, Vcl.ExtDlgs, jpeg;

type
  TForm1 = class(TForm)
    SQLConnection1: TSQLConnection;
    SQLTable2: TSQLTable;
    DBImage1: TDBImage;
    DataSource1: TDataSource;
    DBNavigator1: TDBNavigator;
    ClientDataSet1: TClientDataSet;
    DataSetProvider1: TDataSetProvider;
    Button1: TButton;
    DBEdit1: TDBEdit;
    DBEdit2: TDBEdit;
    OpenPictureDialog1: TOpenPictureDialog;
    Button2: TButton;
    SQLQuery1: TSQLQuery;
    Edit1: TEdit;
    SQLDataSet1: TSQLDataSet;
    procedure Button1Click(Sender: TObject);
    procedure Button2Click(Sender: TObject);
    procedure FormActivate(Sender: TObject);
  private
    { Private declarations }
  public
    { Public declarations }
  end;

var
  Form1: TForm1;

implementation

{$R *.dfm}


function ConvertJPG2BMP(FileName:String):TBitmap;
var
  pic:TPicture;
begin
  pic := TPicture.Create;
  pic.LoadFromFile(FileName);
  result:=TBitmap.create;
  result.Assign(pic.Graphic);
  pic.Free;
end;

(*
function ConvertBMP2JPG(BMPImage:TBitMap, FileName:String, CompQual:Integer):
var
  Jpg:Tjpegimage;
begin
  Jpg:=TJpegImage.Create;
  Jpg.CompressionQuality:=CompQual;
  result.Jpg.Assign(BMPImage); //Here assign the bitmap.image and change the function at top.
  Jpg.SaveToFile(FielName);
  Jpg.free;
end;
*)

procedure TForm1.Button1Click(Sender: TObject);
begin
  if OpenPictureDialog1.Execute then
  begin
    if (ANSIUpperCase(ExtractFileExt(OpenPictureDialog1.FileName)) = '.JPG')
        or
        (ANSIUpperCase(ExtractFileExt(OpenPictureDialog1.FileName)) = '.JPEG') then
    begin
      if not (ClientDataSet1.State = dsInsert) then
        ClientDataSet1.Edit;
      dbImage1.Picture.Bitmap := ConvertJPG2BMP(OpenPictureDialog1.FileName );
    end
    else
    begin
      if not (ClientDataSet1.State = dsInsert) then
        ClientDataSet1.Edit;
      dbImage1.Picture.LoadFromFile(OpenPictureDialog1.FileName);
    end;
      ClientDataSet1.Post;

     if (ClientDataSet1.ChangeCount > 0) then
        ClientDataSet1.ApplyUpdates(-1);

  end;

end;

procedure TForm1.Button2Click(Sender: TObject);
begin
  SQLQuery1.Close;
  ClientDataSet1.Active:=false;
  SQLQuery1.Params.ParamByName('REFPROVEEDOR').AsString:=UpperCase(Edit1.Text);
  ClientDataSet1.Active:=true;
  SQLQuery1.Open;
end;

procedure TForm1.FormActivate(Sender: TObject);
begin
  SQLConnection1.AutoClone:=true;
end;

end.

Última edición por Casimiro Notevi fecha: 22-08-2017 a las 11:59:46.
Responder Con Cita
  #3  
Antiguo 24-08-2017
LIGERO LIGERO is offline
Miembro
 
Registrado: jun 2007
Posts: 42
Poder: 0
LIGERO Va por buen camino
Estoy un poquito perdido y no consigo solucionar el problema.
Alguien me puede ayudar?
Gracias
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
Grabar DVD de datos jandro Varios 10 01-04-2012 13:21:32
Grabar datos a tablas access Aprendiendo Varios 8 24-01-2007 15:07:04
No se actualizan los datos al grabar marcial Conexión con bases de datos 4 25-05-2006 11:04:29
grabar datos de un memo @-Soft Conexión con bases de datos 8 16-08-2003 10:01:49
grabar datos en visual dbase botones67 Varios 1 19-07-2003 08:40:42


La franja horaria es GMT +2. Ahora son las 12:10:58.


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