Solved

how can i save a excel file to sqlserver and display it on web

Posted on 2001-08-08
11
174 Views
Last Modified: 2010-04-06
I have stored a doc file into a mssql table with image type
,then I want to display on internetexplorer by asp .
how can I do
0
Comment
Question by:gutian
11 Comments
 
LVL 27

Expert Comment

by:kretzschmar
ID: 6363056
read out the content,
save it to a file
call shellexecute
0
 
LVL 27

Expert Comment

by:kretzschmar
ID: 6363061
to be more specific,
i need to know the database and
the connection-type(bde,odbc,ado,other)
0
 

Author Comment

by:gutian
ID: 6363256
I used Ado
I have used TAdoblobstream,it work not well
0
Technology Partners: We Want Your Opinion!

We value your feedback.

Take our survey and automatically be enter to win anyone of the following:
Yeti Cooler, Amazon eGift Card, and Movie eGift Card!

 

Author Comment

by:gutian
ID: 6363291
and I want to auto finish the work ,user look the file use
internetexplorer
0
 

Author Comment

by:gutian
ID: 6363746
kretzschmar :
        Can you tell me all ways.Thank you very mach
!!!!!!!!!!!!!!!!
0
 

Expert Comment

by:lbseong
ID: 6364532
just give more information ok?
if u want to show,I think u can use the assignfile do view the file,right?
0
 

Author Comment

by:gutian
ID: 6366671
Sorry,the follow is my source code,if I stored the text file ,it work well.but when I stored doc or xsl,it will be
wrong.
and Iwant to know how can I load the file content use Asp on internetexplorer.
       thanks



unit Unit1;

interface

uses
  Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
  Grids, DBGrids, Db, ADODB, StdCtrls,dbtables;

type
  TForm1 = class(TForm)
    Button1: TButton;
    ADOConnection1: TADOConnection;
    ADODataSet1: TADODataSet;
    DataSource1: TDataSource;
    DBGrid1: TDBGrid;
    OpenDialog1: TOpenDialog;
    Button2: TButton;
    ADOQuery1: TADOQuery;
    procedure Button1Click(Sender: TObject);
    procedure Button2Click(Sender: TObject);
  private
    { Private declarations }
        function LoadFromBlob(const AField: TField; const Stream: TStream): boolean;
        function SaveToBlob(const Stream: TStream; const AField: TField): boolean;
        function StoreFile: boolean;
        function LoadFile: boolean;
  public
    { Public declarations }
  end;

var
  Form1: TForm1;

implementation

{$R *.DFM}

procedure TForm1.Button1Click(Sender: TObject);
begin
try
    ADOQuery1.Edit;
    StoreFile;
    ADOQuery1.Post;
except
    ADOQuery1.Cancel;
end;
end;


procedure TForm1.Button2Click(Sender: TObject);
begin
LoadFile;
end;

function TForm1.LoadFile: boolean;
var
    FS: TFileStream;
  begin
    FS := TFileStream.Create(getcurrentdir+'\Test2.doc', fmCreate);
    LoadFromBlob(ADOQuery1.FieldByName('bbnr'), FS);
    FS.Free;
  end;

function TForm1.LoadFromBlob(const AField: TField;
  const Stream: TStream): boolean;
var
    ResultStr: string;
    PResultStr: PChar;
  begin
    Result := false;
    if (Assigned(AField)) and (Assigned(Stream)) then begin
      try
        ResultStr := AField.Value;
        PResultStr := PChar(ResultStr);
        Stream.Write(PResultStr^, Length(ResultStr));
        Stream.Seek(0,0);
        Result := true;
      except
      end;
    end;
  end;
function TForm1.SaveToBlob(const Stream: TStream;
  const AField: TField): boolean;
var
    FieldStr: string;
    PFieldStr: PChar;
  begin
    Result := false;
    if (Assigned(AField)) and (Assigned(Stream)) then begin
      try
        Stream.Seek(0,0);
        SetLength(FieldStr, Stream.Size);
        PFieldStr := PChar(FieldStr);
        Stream.Read(PFieldStr^, Stream.Size);
        AField.Value := FieldStr;
        Result := true;
      except
      end;
    end;
  end;
function TForm1.StoreFile: boolean;
var
    MS: TFileStream;
  begin
    Result := false;
    try
      if OpenDialog1.Execute then
            MS := TFileStream.Create(OpenDialog1.FileName,fmOpenRead);
      Result := SaveToBlob(MS, ADODataSet1.FieldByName('bbnr'));
    finally
      MS.Free;
    end;
  end;

end.
0
 

Author Comment

by:gutian
ID: 6367212
Sorry,the follow is my source code,if I stored the text file ,it work well.but when I stored doc or xsl,it will be
wrong.
and Iwant to know how can I load the file content use Asp on internetexplorer.
       thanks



unit Unit1;

interface

uses
  Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
  Grids, DBGrids, Db, ADODB, StdCtrls,dbtables;

type
  TForm1 = class(TForm)
    Button1: TButton;
    ADOConnection1: TADOConnection;
    ADODataSet1: TADODataSet;
    DataSource1: TDataSource;
    DBGrid1: TDBGrid;
    OpenDialog1: TOpenDialog;
    Button2: TButton;
    ADOQuery1: TADOQuery;
    procedure Button1Click(Sender: TObject);
    procedure Button2Click(Sender: TObject);
  private
    { Private declarations }
        function LoadFromBlob(const AField: TField; const Stream: TStream): boolean;
        function SaveToBlob(const Stream: TStream; const AField: TField): boolean;
        function StoreFile: boolean;
        function LoadFile: boolean;
  public
    { Public declarations }
  end;

var
  Form1: TForm1;

implementation

{$R *.DFM}

procedure TForm1.Button1Click(Sender: TObject);
begin
try
    ADOQuery1.Edit;
    StoreFile;
    ADOQuery1.Post;
except
    ADOQuery1.Cancel;
end;
end;


procedure TForm1.Button2Click(Sender: TObject);
begin
LoadFile;
end;

function TForm1.LoadFile: boolean;
var
    FS: TFileStream;
  begin
    FS := TFileStream.Create(getcurrentdir+'\Test2.doc', fmCreate);
    LoadFromBlob(ADOQuery1.FieldByName('bbnr'), FS);
    FS.Free;
  end;

function TForm1.LoadFromBlob(const AField: TField;
  const Stream: TStream): boolean;
var
    ResultStr: string;
    PResultStr: PChar;
  begin
    Result := false;
    if (Assigned(AField)) and (Assigned(Stream)) then begin
      try
        ResultStr := AField.Value;
        PResultStr := PChar(ResultStr);
        Stream.Write(PResultStr^, Length(ResultStr));
        Stream.Seek(0,0);
        Result := true;
      except
      end;
    end;
  end;
function TForm1.SaveToBlob(const Stream: TStream;
  const AField: TField): boolean;
var
    FieldStr: string;
    PFieldStr: PChar;
  begin
    Result := false;
    if (Assigned(AField)) and (Assigned(Stream)) then begin
      try
        Stream.Seek(0,0);
        SetLength(FieldStr, Stream.Size);
        PFieldStr := PChar(FieldStr);
        Stream.Read(PFieldStr^, Stream.Size);
        AField.Value := FieldStr;
        Result := true;
      except
      end;
    end;
  end;
function TForm1.StoreFile: boolean;
var
    MS: TFileStream;
  begin
    Result := false;
    try
      if OpenDialog1.Execute then
            MS := TFileStream.Create(OpenDialog1.FileName,fmOpenRead);
      Result := SaveToBlob(MS, ADODataSet1.FieldByName('bbnr'));
    finally
      MS.Free;
    end;
  end;

end.
0
 

Author Comment

by:gutian
ID: 6424479
I have stored a doc file into a mssql table with image type
,then I want to display on internetexplorer by asp .
how can I do
0
 
LVL 26

Expert Comment

by:Russell Libby
ID: 8741497
No comment has been added lately, so it's time to clean up this TA.
I will leave a recommendation in the Cleanup topic area that this question is:

To be PAQ/Refund

Please leave any comments here within the next seven days.
 
PLEASE DO NOT ACCEPT THIS COMMENT AS AN ANSWER!
 
Thank you,
Russell

EE Cleanup Volunteer
0
 

Accepted Solution

by:
PashaMod earned 0 total points
ID: 8822553
Per recommendation,

PashaMod
Community Support Moderator @Experts Exchange
0

Featured Post

Independent Software Vendors: We Want Your Opinion

We value your feedback.

Take our survey and automatically be enter to win anyone of the following:
Yeti Cooler, Amazon eGift Card, and Movie eGift Card!

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

Suggested Solutions

A lot of questions regard threads in Delphi.   One of the more specific questions is how to show progress of the thread.   Updating a progressbar from inside a thread is a mistake. A solution to this would be to send a synchronized message to the…
Hello everybody This Article will show you how to validate number with TEdit control, What's the TEdit control? TEdit is a standard Windows edit control on a form, it allows to user to write, read and copy/paste single line of text. Usua…
In an interesting question (https://www.experts-exchange.com/questions/29008360/) here at Experts Exchange, a member asked how to split a single image into multiple images. The primary usage for this is to place many photographs on a flatbed scanner…
How to Install VMware Tools in Red Hat Enterprise Linux 6.4 (RHEL 6.4) Step-by-Step Tutorial

679 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question