asp.net(c#)实现从sqlserver存取二进制图片的代码

实现从SQL Server存取二进制图片需要经历以下步骤:

  1. 在SQL Server中创建表来存储图片数据。通常,您需要为每个图像分配两个列:一个用于存储二进制数据,另一个用于存储图像的MIME类型。例如:
CREATE TABLE [dbo].[ImageTable](
    [ID] INT PRIMARY KEY IDENTITY(1,1),
    [ImageData] VARBINARY(MAX) NOT NULL,
    [MimeType] NVARCHAR(64) NOT NULL
)
  1. 定义使用ADO.NET访问SQL Server的C#代码。这涉及到建立和打开数据库连接、执行查询或命令、读取并处理结果等等。以下是一个示例代码,存储图片到数据库中:
// 连接字符串
string connectionString = "Data Source=myServerAddress;Initial Catalog=myDataBase;User Id=myUsername;Password=myPassword;"

// 创建连接对象
SqlConnection connection = new SqlConnection(connectionString);

// 打开连接
connection.Open();

// 文件数据(byte[])
byte[] fileData = ...;

// MIME类型
string mimeType = ...;

// SQL语句
string sql = "INSERT INTO ImageTable (ImageData, MimeType) VALUES (@ImageData, @MimeType)";

// 创建命令对象
SqlCommand command = new SqlCommand(sql, connection);

// 添加参数
command.Parameters.AddWithValue("@ImageData", fileData);
command.Parameters.AddWithValue("@MimeType", mimeType);

// 执行命令
command.ExecuteNonQuery();

// 关闭连接
connection.Close();
  1. 使用相同的C#代码从数据库中检索和显示图像:
// 连接字符串
string connectionString = "Data Source=myServerAddress;Initial Catalog=myDataBase;User Id=myUsername;Password=myPassword;"

// 创建连接对象
SqlConnection connection = new SqlConnection(connectionString);

// 打开连接
connection.Open();

// SQL语句
string sql = "SELECT ImageData, MimeType FROM ImageTable WHERE ID = @ID";

// 创建命令对象
SqlCommand command = new SqlCommand(sql, connection);

// 添加参数
command.Parameters.AddWithValue("@ID", 1);

// 执行命令,并获取数据读取器
SqlDataReader reader = command.ExecuteReader();

// 读取二进制数据和MIME类型
byte[] imageData = null;
string mimeType = "";

if (reader.Read())
{
    imageData = (byte[])reader["ImageData"];
    mimeType = (string)reader["MimeType"];
}

// 关闭数据读取器
reader.Close();

// 关闭连接
connection.Close();

// 在Web页面中显示图像
Response.ContentType = mimeType;
Response.BinaryWrite(imageData);

以上是一个完整的ASP.NET(C#)实现从SQL Server存取二进制图片的攻略。

本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:asp.net(c#)实现从sqlserver存取二进制图片的代码 - Python技术站

(0)
上一篇 2023年5月31日
下一篇 2023年5月31日

相关文章

  • SharePoint 客户端对象模型 (一) ECMA Script

    下面是关于“SharePoint客户端对象模型(一)ECMAScript”的完整攻略,包含两个示例。 1. SharePoint客户端对象模型简介 SharePoint客户端对象模型(CSOM)是一组API,用于在客户端应用程序中与SharePoint进行交互。CSOM提供了一组类和方法,用于执行各种操作,例如读取和写入列表数据、创建和删除网站等。 2. 使…

    C# 2023年5月15日
    00
  • Windows系统自动连接网络共享打印机BAT脚本分享

    下面我将为你详细讲解“Windows系统自动连接网络共享打印机BAT脚本分享”的完整攻略。 背景 在Windows系统中,我们可以通过在本地网络中连接打印机,实现通过局域网打印文件的功能。然而,在每次使用时都需要手动连接,对日常使用造成了不必要的麻烦。为了解决这个问题,我们可以使用BAT脚本来实现网络共享打印机的自动连接。 实现步骤 1. 打开记事本 在Wi…

    C# 2023年6月7日
    00
  • 实例代码讲解c# 线程(下)

    让我来详细讲解一下“实例代码讲解c# 线程(下)”的完整攻略。 1. 标题说明 本篇文章主要是针对C#线程相关知识进行讲解,并通过实例的方式来进行代码演示,包含线程同步、线程异步、线程池等内容。 2. 线程同步 线程同步是指多个线程在操作共享资源时,需要通过某种机制来保证数据的正确性。在C#中,常用的同步机制有锁机制和Monitor机制。 2.1 锁机制 p…

    C# 2023年5月31日
    00
  • C#批量更新sql实例

    C#批量更新SQL实例 在C#中,我们可以使用 SQLCommand 对象来执行SQL语句操作数据库。为了提高效率,在需要批量更新数据库时,我们可以使用 SQLCommand 对象的批处理功能。 批处理功能 使用 SQLCommand 对象的 ExecuteNonQuery 方法执行SQL语句时,我们可以使用批处理方法 ExecuteNonQueryAsyn…

    C# 2023年6月2日
    00
  • 深入理解C#中的扩展方法

    深入理解C#中的扩展方法 什么是扩展方法 在C#语言中,扩展方法是指一种特殊类型的静态方法,这些方法可以被添加到已经存在的类型上,而不需要修改该类型的源代码。 扩展方法的语法 扩展方法有以下几个语法要素: 扩展方法必须定义在静态类中; 扩展方法必须是一个静态的方法; 在方法的第一个参数中加上this关键字,用于指定扩展方法的定义类型; 扩展方法的命名约定一般…

    C# 2023年5月15日
    00
  • C# Random类随机函数实例详解

    C# Random类随机函数实例详解 在C#编程中,经常需要使用到随机数,C#中提供了Random类,可以非常方便地生成伪随机数。本文将针对C# Random类进行详细讲解,并附上两个示例说明。 1. Random类概述 Random类可以生成一个伪随机数序列。 随机数是一些不可预测的数字,它们是通过算法生成的,而不是通过任何物理过程生成的。 随机类的构造函…

    C# 2023年6月8日
    00
  • Url相对路径的问题总结

    URL相对路径问题总结 在网页开发中,我们常常需要引用其他文件的资源,比如图片、CSS文件和JavaScript文件等等。而在标签属性中,我们可以写入文件的URL地址来引用这些资源。为了方便管理和维护,有时候我们会使用相对路径的方式来引用这些资源。但是相对路径也有可能出现问题,因此我们需要了解URL相对路径的问题,本文将对这个问题做出详细的解释。 问题描述 …

    C# 2023年5月31日
    00
  • asp.net ubb使用代码

    当我们在开发一个网站或者一个论坛系统时,通常都需要使用 UBB(ultra bulletin board) 编辑器。在 ASP.NET 中,使用 UBB 编辑器可以轻松实现文字编辑、图片上传、表情等功能。而如何使用 ASP.NET 代码实现 UBB 编辑器的功能呢?下面是一个完整的攻略。 步骤一:引用 UBB 控件 首先,在 ASP.NET 项目中,我们需要…

    C# 2023年5月31日
    00
合作推广
合作推广
分享本页
返回顶部