⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 unit1.pas

📁 Oracle数据库 大字 Filed 读写
💻 PAS
字号:
unit Unit1;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, DB, ADODB, StdCtrls, Grids, DBGrids, ExtDlgs, ExtCtrls, DBCtrls;

type
  TForm1 = class(TForm)
    Query: TADOQuery;
    ADOConnection1: TADOConnection;
    Image1: TImage;
    opd: TOpenPictureDialog;
    DataSource1: TDataSource;
    btnSave: TButton;
    btnOpen: TButton;
    Button3: TButton;
    DBNavigator1: TDBNavigator;
    Button4: TButton;
    DBImage1: TDBImage;
    DBGrid1: TDBGrid;
    Button1: TButton;
    Button2: TButton;
    Image2: TImage;
    procedure btnOpenClick(Sender: TObject);
    procedure Button3Click(Sender: TObject);
    procedure btnSaveClick(Sender: TObject);
    procedure Button4Click(Sender: TObject);
    procedure Button1Click(Sender: TObject);
    procedure Button2Click(Sender: TObject);
  private
    { Private declarations }
  public
    { Public declarations }
  end;

var
  Form1: TForm1;

implementation

{$R *.dfm}

procedure TForm1.btnOpenClick(Sender: TObject);
var
    sSql:String;
begin
    sSql := ' select chr_ball,chr_picture from ballscaption ';
    query.close;
    query.SQL.Clear;
    query.SQL.Add(sSql);
    query.Open;
end;

procedure TForm1.Button3Click(Sender: TObject);
begin
  if  opd.Execute then
  begin
    image1.Picture.LoadFromFile(opd.FileName);
    dbimage1.Picture.LoadFromFile(opd.FileName);
  end;
end;

procedure TForm1.btnSaveClick(Sender: TObject);
var
  sSql:String;
  ms:TMemoryStream;
  blob:TAdoBlobStream;
begin
  sSql := ' select chr_ball,chr_Picture  from ballscaption where chr_ball is null';
  Query.Close;
  Query.SQL.Clear;
  Query.SQL.Add(sSql);
  Query.Open;
  //if not Query.Eof then
  begin
  try
      ms := TMemoryStream.Create;
      Image1.Picture.Bitmap.SaveToStream(ms);
     // blob := TAdoBlobStream.Create( tblobfield(Query.FieldByName('chr_Picture')),bmWrite);
     // blob.LoadFromStream(ms);
     // blob.Position := 0;

      Query.Append;
      Query.FieldByName('chr_ball').Value := '03';
      tblobfield(Query.FieldByName('chr_Picture')).loadfromstream(ms);
      query.post;
      ShowMessage('ok');
   Except
      on e:Exception do
         ShowMessage(e.Message);
   end;
  end;




end;

procedure TForm1.Button4Click(Sender: TObject);
var
  sSql:String;
  ms:TMemoryStream;
  blob:TAdoBlobStream;
begin
  sSql := ' select * from test where chr_ball = ''01'' ';
  Query.Close;
  Query.SQL.Clear;
  Query.SQL.Add(sSql);
  Query.Open;
  if not Query.Eof then
  begin

  end;
end;

procedure TForm1.Button1Click(Sender: TObject);
var
  sSql:String;
  ms:TMemoryStream;
  blob:TAdoBlobStream;
  s:OleVariant;
  b:array [0..1024]of byte;
begin
  sSql := ' select chr_ball,chr_Picture  from ballscaption where chr_ball is null';
  Query.Close;
  Query.SQL.Clear;
  Query.SQL.Add(sSql);
  Query.Open;
  //if not Query.Eof then
  begin
  try
      ms := TMemoryStream.Create;
      Image1.Picture.Bitmap.SaveToStream(ms);

     // s := b;
     // s := b;

      Query.Append;
      Query.FieldByName('chr_ball').Value := '05';
      tblobfield(Query.FieldByName('chr_Picture')).loadfromstream(ms);
      query.post;
      ShowMessage('ok');
   Except
      on e:Exception do
         ShowMessage(e.Message);
   end;
  end;
end;

procedure TForm1.Button2Click(Sender: TObject);
var
   data:array of byte;
   a:Variant;
   bounds:array [0..1] of integer;
   ms,ms2:TMemoryStream;
   i:integer;
begin
      ms := TMemoryStream.Create;
      Image1.Picture.Bitmap.SaveToStream(ms);
      a := VarArrayCreate([0,ms.Size],varByte);
      ms.WriteBuffer(a,ms.Size);
      //for i:= 0 to  ms.Size
      //do ms.ReadBuffer();
        // ms.Read(a[i],1);
     //ms.Free;
     ms2 := tmemorystream.Create;
     ms2.Read(a,ms.Size) ;
     //ms2.ReadBuffer(VarArrayDefa(,sizeof(a));
     image2.Picture.Bitmap.LoadFromStream(ms2);
end;

end.

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -