Solved

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

Posted on 2001-08-08
11
167 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
 

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
Maximize Your Threat Intelligence Reporting

Reporting is one of the most important and least talked about aspects of a world-class threat intelligence program. Here’s how to do it right.

 

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

How to improve team productivity

Quip adds documents, spreadsheets, and tasklists to your Slack experience
- Elevate ideas to Quip docs
- Share Quip docs in Slack
- Get notified of changes to your docs
- Available on iOS/Android/Desktop/Web
- Online/Offline

Join & Write a Comment

The uses clause is one of those things that just tends to grow and grow. Most of the time this is in the main form, as it's from this form that all others are called. If you have a big application (including many forms), the uses clause in the in…
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…
It is a freely distributed piece of software for such tasks as photo retouching, image composition and image authoring. It works on many operating systems, in many languages.
Illustrator's Shape Builder tool will let you combine shapes visually and interactively. This video shows the Mac version, but the tool works the same way in Windows. To follow along with this video, you can draw your own shapes or download the file…

707 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

Need Help in Real-Time?

Connect with top rated Experts

14 Experts available now in Live!

Get 1:1 Help Now