阅读背景:

我想把硬盘上的图片文件(比如:d:\pic\1.jpg)写入一个表的image字段中,应该如何写sql语句?

来源:互联网 
我想把硬盘上的图片文件(比如:d:\pic
我想把硬盘上的图片文件(比如:d:\pic\1.jpg)写入一个表的image字段中,应该如何写sql语句?  

8 个解决方案

#1


bmp文件:

下面是一个拷贝图像到SQL Server的pubs数据库的例子, 表名pub_info, 字段名logo,图像文件名picture.bmp,保存到pub_id='0736'记录 
sp_textcopy @srvn
ame = 'ServerName', 
            @login = 'Login', 
            @password = 'Password', 
            @dbname = 'pubs', 
            @tbname = 'pub_info', 
            @colname = 'logo', 
            @filename = 'c:\picture.bmp', 
            @whereclause = " WHERE pub_id='0736' ", 
            @direction = 'I'

#2


CREATE PROCEDURE sp_textcopy ( 
  @srvname    varchar (30), 
  @login      varchar (30), 
  @password    varchar (30), 
  @dbname      varchar (30), 
  @tbname      varchar (30), 
  @colname    varchar (30), 
  @filename    varchar (30), 
  @whereclause varchar (40), 
  @direction  char(1)) 
AS 
DECLARE @exec_str varchar (255) 
SELECT @exec_str = 
        'textcopy /S ' + @srvname + 
        ' /U ' + @login + 
        ' /P ' + @password + 
        ' /D ' + @dbname + 
        ' /T ' + @tbname + 
        ' /C ' + @colname + 
        ' /W "' + @whereclause + 
        '" /F ' + @filename + 
        ' /' + @direction 
EXEC master..xp_cmdshell @exec_str  


下面是一个拷贝图像到SQL Server的pubs数据库的例子, 表名pub_info, 字段名logo,图像文件名picture.bmp,保存到pub_id='0736'记录 
sp_textcopy @srvn
ame = 'ServerName', 
            @login = 'Login', 
            @password = 'Password', 
            @dbname = 'pubs', 
            @tbname = 'pub_info', 
            @colname = 'logo', 
            @filename = 'c:\picture.bmp', 
            @whereclause = " WHERE pub_id='0736' ", 
            @direction = 'I'

#3


to:pengdali(大力)

哪图片不在服务器上,在客户端怎么办???

还有就是我用的是VFP,我用了你的哪个存储过程,打不开哪个图片的字段.

还否还有办法?

—————————————————————————————————
我喜欢默默地被你注视着默默地注视着你,
我渴望深深地被你爱着深深地爱着你。

#4


delphi例子:vf我不会!
procedure TForm1.Button1Click(Sender: TObject);
begin
   if OpenPictureDialog1.Execute then
   Image1.Picture.LoadFromFile(OpenPictureDialog1.FileName);
end;

procedure TForm1.Button2Click(Sender: TObject);
begin
   ADOTable1.Append;
   TBlobField(ADOTable1.FieldByName('FImage')).LoadFromFile(OpenPictureDialog1.FileName);
   ADOTable1.Post;
end;

#5


up

#6


VFP例子:
create table temp(upimage g)
sele temp
appe blank
appe gene from filename

jb=sqlstringconnect("driver=sql server;server=servername;uid=;pwd=;database=databasename")
if sqlexec(jb,"update tablename set fieldname=?temp.upimage where id=?id")=1
  messagebox("图片上传成功!")
else
  ....
end if
这是以前吃素的狼指点的。:)

#7


怎么都显示不完全

#8


jpg怎么样呢??

.jpg)写入一个表的image字段中,应该如何写sql语句?   我想把硬盘上的图片文件(比如:d:\pic
我想把硬盘上的图片文件(比如:d:\pic\1.jpg)写入一个表的image字段中,应该如何写sql语句?  

8 个解决方案

#1


bmp文件:

下面是一个拷贝图像到SQL Server的pubs数据库的例子, 表名pub_info, 字段名logo,图像文件名picture.bmp,保存到pub_id='0736'记录 
sp_textcopy @srvn
ame = 'ServerName', 
            @login = 'Login', 
            @password = 'Password', 
            @dbname = 'pubs', 
            @tbname = 'pub_info', 
            @colname = 'logo', 
            @filename = 'c:\picture.bmp', 
            @whereclause = " WHERE pub_id='0736' ", 
            @direction = 'I'

#2


CREATE PROCEDURE sp_textcopy ( 
  @srvname    varchar (30), 
  @login      varchar (30), 
  @password    varchar (30), 
  @dbname      varchar (30), 
  @tbname      varchar (30), 
  @colname    varchar (30), 
  @filename    varchar (30), 
  @whereclause varchar (40), 
  @direction  char(1)) 
AS 
DECLARE @exec_str varchar (255) 
SELECT @exec_str = 
        'textcopy /S ' + @srvname + 
        ' /U ' + @login + 
        ' /P ' + @password + 
        ' /D ' + @dbname + 
        ' /T ' + @tbname + 
        ' /C ' + @colname + 
        ' /W "' + @whereclause + 
        '" /F ' + @filename + 
        ' /' + @direction 
EXEC master..xp_cmdshell @exec_str  


下面是一个拷贝图像到SQL Server的pubs数据库的例子, 表名pub_info, 字段名logo,图像文件名picture.bmp,保存到pub_id='0736'记录 
sp_textcopy @srvn
ame = 'ServerName', 
            @login = 'Login', 
            @password = 'Password', 
            @dbname = 'pubs', 
            @tbname = 'pub_info', 
            @colname = 'logo', 
            @filename = 'c:\picture.bmp', 
            @whereclause = " WHERE pub_id='0736' ", 
            @direction = 'I'

#3


to:pengdali(大力)

哪图片不在服务器上,在客户端怎么办???

还有就是我用的是VFP,我用了你的哪个存储过程,打不开哪个图片的字段.

还否还有办法?

—————————————————————————————————
我喜欢默默地被你注视着默默地注视着你,
我渴望深深地被你爱着深深地爱着你。

#4


delphi例子:vf我不会!
procedure TForm1.Button1Click(Sender: TObject);
begin
   if OpenPictureDialog1.Execute then
   Image1.Picture.LoadFromFile(OpenPictureDialog1.FileName);
end;

procedure TForm1.Button2Click(Sender: TObject);
begin
   ADOTable1.Append;
   TBlobField(ADOTable1.FieldByName('FImage')).LoadFromFile(OpenPictureDialog1.FileName);
   ADOTable1.Post;
end;

#5


up

#6


VFP例子:
create table temp(upimage g)
sele temp
appe blank
appe gene from filename

jb=sqlstringconnect("driver=sql server;server=servername;uid=;pwd=;database=databasename")
if sqlexec(jb,"update tablename set fieldname=?temp.upimage where id=?id")=1
  messagebox("图片上传成功!")
else
  ....
end if
这是以前吃素的狼指点的。:)

#7


怎么都显示不完全

#8


jpg怎么样呢??

.jpg)写入一个表的image字段中,应该如何



你的当前访问异常,请进行认证后继续阅读剩余内容。

分享到: