在SQL Server中保存和输出图片
http://www.pconline.com.cn/pcedu/empolder/db/sql/0203/38891.html

解决方案 »

  1.   

    http://www.aspcool.com/lanmu/browse1.asp?ID=830&bbsuser=asp
      

  2.   

    向SQL Server数据库添加图片
    http://dotnet.aspx.cc/ShowDetail.aspx?id=2A5DD7C6-A45A-48AB-A2E8-342A29F17506从SQL Server数据库提取图片并显示在DataGrid
    http://dotnet.aspx.cc/ShowDetail.aspx?id=ECD9AE16-8FF0-4A1C-9B9F-5E8B641CB1B1
      

  3.   

    --我贴一个核心代码,.net 的不知道对你是否有作用:
                If Button_Submit.Text.Trim <> "修  改" Then
                    LCmd = New System.Data.OleDb.OleDbCommand("insert into prgl(ennmcd,fgmr,fltp,frfgmr,mnfgnm,axfgnm,drun,drhrtm,drqn,fgsr,brfl,rm) values(?,?,?,?,?,?,?,?,?,?,?,?)", LConn)
                    '测试 LCmd = New System.Data.OleDb.OleDbCommand("insert into prgl(ennmcd,fgmr,drhrtm,brfl) values(?,?,?,?)", LConn)
                Else
                    LCmd = New System.Data.OleDb.OleDbCommand("update prgl set frfgmr=?,mnfgnm=?,axfgnm=?,drun=?,drhrtm=?,drqn=?,fgsr=?,rm=? where ennmcd='" + LEnnmcd + "' and fgmr='" + Lfgmr + "'", LConn)
                End If
                If Button_Submit.Text.Trim <> "修  改" Then
                    '*---------------------------------------------------------------------------------------------------工程编码ennmcd
                    LParameter = New System.Data.OleDb.OleDbParameter("@ennmcd", System.Data.OleDb.OleDbType.VarChar, 20)
                    LParameter.Value = LEnnmcd
                    LCmd.Parameters.Add(LParameter)                '*---------------------------------------------------------------------------------------------------图号fgmr
                    LParameter = New System.Data.OleDb.OleDbParameter("@fgmr", System.Data.OleDb.OleDbType.VarChar, 25)
                    LParameter.Value = Zehua.Str.checkStr(Lfgmr)
                    LCmd.Parameters.Add(LParameter)                '*---------------------------------------------------------------------------------------------------电子文件类型fltp
                    LParameter = New System.Data.OleDb.OleDbParameter("@fltp", System.Data.OleDb.OleDbType.Char, 3)
                    LParameter.Value = Lfltp
                    LCmd.Parameters.Add(LParameter)
                End If
                '*---------------------------------------------------------------------------------------------------原图号,frfgmr
                LParameter = New System.Data.OleDb.OleDbParameter("@frfgmr", System.Data.OleDb.OleDbType.VarChar, 40)
                LParameter.Value = Lfrfgmr
                LCmd.Parameters.Add(LParameter)            '*---------------------------------------------------------------------------------------------------主图名,mnfgnm
                LParameter = New System.Data.OleDb.OleDbParameter("@mnfgnm", System.Data.OleDb.OleDbType.VarChar, 40)
                LParameter.Value = Lmnfgnm
                LCmd.Parameters.Add(LParameter)            '*---------------------------------------------------------------------------------------------------副图名,axfgnm
                LParameter = New System.Data.OleDb.OleDbParameter("@axfgnm", System.Data.OleDb.OleDbType.VarChar, 40)
                LParameter.Value = (Laxfgnm)
                LCmd.Parameters.Add(LParameter)            '*---------------------------------------------------------------------------------------------------制图单位名称,drun
                LParameter = New System.Data.OleDb.OleDbParameter("@drun", System.Data.OleDb.OleDbType.VarChar, 40)
                LParameter.Value = Ldrun
                LCmd.Parameters.Add(LParameter)            '*---------------------------------------------------------------------------------------------------制图时间,drhrtm
                LParameter = New System.Data.OleDb.OleDbParameter("@drhrtm", System.Data.OleDb.OleDbType.Char)
                LParameter.Value = Ldrhrtm 'CDate(Ldrhrtm)
                LCmd.Parameters.Add(LParameter)            '*---------------------------------------------------------------------------------------------------图纸张数,drqn
                LParameter = New System.Data.OleDb.OleDbParameter("@drqn", System.Data.OleDb.OleDbType.VarChar, 5)
                LParameter.Value = Ldrqn
                LCmd.Parameters.Add(LParameter)            '*---------------------------------------------------------------------------------------------------图纸类型,fgsr
                LParameter = New System.Data.OleDb.OleDbParameter("@fgsr", System.Data.OleDb.OleDbType.VarChar, 10)
                LParameter.Value = Lfgsr
                LCmd.Parameters.Add(LParameter)            '*---------------------------------------------------------------------------------------------------文件
                If Button_Submit.Text.Trim <> "修  改" Then
                    '文件,brfl
                    LParameter = New System.Data.OleDb.OleDbParameter("@brfl", System.Data.OleDb.OleDbType.LongVarBinary, LStreamLength)
                    LParameter.Value = oByteArray
                    LCmd.Parameters.Add(LParameter)
                End If            '*---------------------------------------------------------------------------------------------------备注,rm
                LParameter = New System.Data.OleDb.OleDbParameter("@rm", System.Data.OleDb.OleDbType.VarChar)
                LParameter.Value = Lrm
                LCmd.Parameters.Add(LParameter)            LCmd.ExecuteNonQuery()
      

  4.   

    不用另的语言,单用SQL能完成吗?
      

  5.   

    不用别的语言,单用SQL能完成吗?
      

  6.   

    --SQL 哪就用大力MM的!
    /*--利用 textcopy.exe文件实现在数据库中存储/读取文件 需要textcopy.exe文件,该文件可以在sql 7.0安装光盘找到--转贴自大力--*/--建立存取处理的存储过程
    if exists (select * from dbo.sysobjects where id = object_id(N'[dbo].[sp_textcopy]') and OBJECTPROPERTY(id, N'IsProcedure') = 1)
    drop procedure [dbo].[sp_textcopy]
    GOCREATE 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) --I 为存储到数据库,O 从数据库中读出成文件
    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  
    go--调用示例:
    --1.创建示例表和初始化数据
    create table tb(id int,img image)
    insert tb 
    select 1,0x
    union all select 2,0x
    go--2.将文件保存到数据库中
    declare @srv varchar(255),@db sysname,@tb sysname,@col sysname
    select @srv=@@servername --服务器名
    ,@db=db_name() --数据库名
    ,@tb='tb' --表名
    ,@col='img' --列名
    sp_textcopy @srv,'sa','sa的密码',@db,@tb,@col,'c:\test.jpg','where id=1','I' --保存到id=1的记录中,注意条件是:id=1
    sp_textcopy @srv,'sa','sa的密码',@db,@tb,@col,'c:\test.doc','where id=2','I' --保存到id=2的记录中,注意条件是:id=2--3.从数据库中读出保存为文件
    sp_textcopy @srv,'sa','sa的密码',@db,@tb,@col,'c:\test.jpg','where id=1','O' --读出id=1的记录,注意条件是:id=1
    sp_textcopy @srv,'sa','sa的密码',@db,@tb,@col,'c:\test.doc','where id=2','O' --读出id=2的记录,注意条件是:id=2--删除测试环境
    drop table tb
    if exists (select * from dbo.sysobjects where id = object_id(N'[dbo].[sp_textcopy]') and OBJECTPROPERTY(id, N'IsProcedure') = 1)
    drop procedure [dbo].[sp_textcopy]