【问题标题】:How do you store a picture in an image column?如何将图片存储在图像列中?
【发布时间】:2009-04-13 17:00:11
【问题描述】:

我有一个用户表:

Name varchar(20)
Picture image

我想将图像存储到“图片”列中——如何使用 SQL 脚本来实现?

【问题讨论】:

  • 客户是什么? SQL 管理器、.NET、Java?

标签: sql-server-2005


【解决方案1】:

这是一个将图像存储到 sql server 的示例代码:

SqlConnection conn = new SqlConnection(connectionString);

try
{
    int imageLength = uploadInput.PostedFile.ContentLength;
    byte[] picbyte = new byte[imageLength];
    uploadInput.PostedFile.InputStream.Read (picbyte, 0, imageLength);

    SqlCommand command = new SqlCommand("INSERT INTO ImageTable (ImageFile) VALUES (@Image)", conn);
    command.Parameters.Add("@Image", SqlDbType.Image);
    command.Parameters[0].Value = picbyte;

    conn.Open();
    command.ExecuteNonQuery();
    conn.Close();
}
finally
{
    if (conn.State != ConnectionState.Closed)
    {
        conn.Close();
    }
}

注意:uploadInput 是一个文件输入控件,用于将图像文件上传到服务器。取自 ASP.NET 应用程序的代码。

编辑:这是插入图像类型列的脚本:

INSERT INTO ImageTable (ImageColumn)

SELECT ImageColumn FROM 
OPENROWSET(BULK N'C:\SampleImage.jpg', SINGLE_BLOB) 
AS ImageSource(ImageColumn);

【讨论】:

  • 我认为我们正在使用 C# 代码将图像插入 SQL Server,但是是否有任何 SQL 脚本,例如 ( Insert INTO Tbale_Name(Name,Picture) Values ('Venkat','Here the Image path ') 像这样......不要介意问这些问题,我是 RDBMS 的新手
  • 如何在 FlatFile 中存储图像?
【解决方案2】:

对于纯脚本访问,请在联机丛书中查找 BULK 命令。 SQL Server 2005 允许您直接从磁盘中提取二进制数据。但是,这不适用于以前版本的 SQL Server。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2012-11-15
    • 1970-01-01
    • 2017-12-25
    • 2016-05-19
    • 2010-12-26
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多