Delphi 将JPG图片上传到SqlServer数据库里

来源:互联网 发布:简单学英语软件 编辑:程序博客网 时间:2024/06/10 01:47
Delphi 将JPG图片上传到SqlServer数据库里 

unit Unit1;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, Jpeg, StdCtrls, ADODB, DB;

type
  TForm1 = class(TForm)
    Button1: TButton;
    ADOQuery1: TADOQuery;
    procedure UploadJPGToSqlServer(UserName, path, ConnStr: String);
    procedure Button1Click(Sender: TObject);
  private
    { Private declarations }
  public
    { Public declarations }
  end;

var
  Form1: TForm1;

implementation

{$R *.dfm}
procedure TForm1.UploadJPGToSqlServer(UserName, path, ConnStr: String);
var
  tb: TADOQuery;
Begin

  tb := TADOQuery.Create(self);
  tb.ConnectionString := ConnStr;

  // 删除数据
  tb.SQL.Clear;
  tb.SQL.Text := 'Delete From JPEG Where UserName='''+UserName+'''';
  tb.ExecSQL;

  // 插入数据
  tb.SQL.Clear;
  tb.SQL.Text := 'Select * from JPEG Where UserName='''+UserName+'''';
  tb.Open;
  if not(tb.State in [dsEdit, dsInsert]) then tb.Insert;
  (tb.FieldByName('JPEG') as TBlobField).LoadFromFile(path);
  tb.FieldByName('UserName').Text := UserName;
  tb.Post;
  tb.Close;
  tb.Free;
  MessageBox(handle, '上传成功' ,'系统提示' , MB_OK);
 
End;

procedure TForm1.Button1Click(Sender: TObject);
var
  StrConn, UserName, Path: String;
begin
  StrConn := 'Provider=SQLOLEDB.1;Password=#这里是密码#;Persist Security Info=True;User ID=#这里是Sql登陆名#;Initial Catalog=#这里是数据库名#;Data Source=#这里是数据库的地址#';
  UserName := '龚韬';
  Path := 'C:/Inetpub/wwwroot/yizhi/Images/bgtitle.jpg';
  UploadJPGToSqlServer(UserName, Path, StrConn);
end;

end.