日期:2014-05-19  浏览次数:20315 次

C/S模式下图片的问题
我做一个刷卡考勤的系统。刷卡时需要从数据库读取信息显示,同时也要显示刷卡人的照片,那么在C/S模式下如何实现图片的显示呢?有人说数据库中只存储图片文件路径,这样的话还得在Client有这些图片才能显示啊?还是应该将图片存在数据库中呢?以前也没有做过,请各位指教。

------解决方案--------------------
参考:
用image类型

方法:
1、建立过程
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

2、建表和初始化数据
create table 表名 (编号 int,image列名 image)
go
insert 表名 values(1,0x) -- 必须的,且不是null
insert 表名 values(2,0x) -- 必须的,且不是null
go

3、读入
sp_textcopy '你的服务器名 ', 'sa ', '你的密码 ', '库名 ', '表名 ', 'image列名 ', 'c:\图片.bmp ', 'where 编号=1 ', 'I ' --注意条件是 编号=1

sp_textcopy '你的服务器名 ', 'sa ', '你的密码 ', '库名 ', '表名 ', 'image列名 ', 'c:\bb.doc ', 'where 编号=2 ', 'I ' --注意条件是 编号=2

go

4、读出成文件
sp_textcopy '你的服务器名 ', 'sa ', '你的密码 ', '库名 ', '表名 ', 'image列名 ', 'c:\图片.bmp ', 'where 编号=1 ', 'O ' --注意条件是 编号=1

sp_textcopy '你的服务器名 ', 'sa ', '你的密码 ', '库名 ', '表名 ', 'image列名 ', 'c:\bb.doc ', 'where 编号=2 ', 'O ' --注意条件是 编号=2
go

如果报textcopy不是可执行文件的话,你就到
C:\Program Files\Microsoft SQL Server\MSSQL\Binn
目录下拷备 textcopy.exe到:
C:\Program Files\Microsoft SQL Server\80\Tools\Binn
------解决方案--------------------
1.将图片存到text型功image类型的字段中,较麻烦.
2.直接存图片路径.客户端用什么写的.用图片控件就可以显示呀.
------解决方案--------------------
我都是存路径的,然后从服务器把照片下载到客户端的。