--转载:用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
go3、读入
sp_textcopy '你的服务器名','sa','你的密码','库名','表名','image列名','c:\图片.bmp','where 编号=1','I' --注意条件是 编号=1sp_textcopy '你的服务器名','sa','你的密码','库名','表名','image列名','c:\bb.doc','where 编号=2','I' --注意条件是 编号=2go4、读出成文件
sp_textcopy '你的服务器名','sa','你的密码','库名','表名','image列名','c:\图片.bmp','where 编号=1','O' --注意条件是 编号=1sp_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.   

    数据库存储图片的列类型设置为image类型即呆.而存取的话, 跟sql server没有太大的关系, 因为你要求的是PB, 所以纯粹是程序的写法.建议你到PB版去问程序的写法.
      

  2.   

    UpdateBlob 写数据表SelectBlob 读出数据,在pb中使用图片控件的函数SetPicture 可以显示出来
      

  3.   

    --这里有一个VB的例子
    http://dotnet.aspx.cc/ShowDetail.aspx?id=J9UBRVER-L3VB-49M3-GOU1-Z6C2PVR6FZ3K
      

  4.   

    1:保存到数据库int   fh
    blob  Emp_id_pic
    fh = FileOpen("c:\a.bmp", StreamMode!)
    IF fh <> -1 THEN
            FileRead(fh, emp_id_pic)
            FileClose(fh)
            SQLCA.AutoCommit = true
            UPDATEBLOB hrms_photo SET EmpPhoto = :Emp_id_pic
            WHERE EmpId = 5078;
            SQLCA.AutoCommit = false
    END IFIF SQLCA.SQLNRows > 0 THEN
            COMMIT;
    END IF
    2:从数据库读出来
    //--p_1为Picture控件名Blob   lbb_pic 
    SelectBlob empPhoto Into :lbb_pic From hrms_photo WHERE empID = :5078;
    p_1.SetPicture(lbb_pic)
      

  5.   

    哦 谢谢楼上的
    不过我综合考虑一下,对我们要做的这个东西而言,还是觉得直接在SQL中直接将图片如库比较合适...
      

  6.   

    xhwly(wly) ,按照你的程序,语法基本没问题 插入也可行,但显示不了...