C#存储BLOB对象分析

开发 后端
这里介绍检索和C#存储BLOB对象是一个很简单的过程;相反的过程,在 SQL Server 中C#存储BLOB对象,也一样简单。

学习C#语言时,经常会遇到C#存储BLOB对象问题,这里将介绍C#存储BLOB对象问题的解决方法。

C#存储BLOB对象

检索和C#存储BLOB对象是一个很简单的过程;相反的过程,在 SQL Server 中C#存储BLOB对象,也一样简单。这里我要指出的是,前面的例子中使用了由这个例子中的代码存储到表中的 BLOB 数据

  1. SqlConnection conn =null;  
  2. SqlCommand cmd = null;  
  3. SqlParameter param = null;  
  4. FileStream fs = null;  
  5. const string sConn = "server=(local);Initial  
  6. Catalog=Northwind;UID=ctester;PWD=password";  
  7. try {  
  8. conn = new SqlConnection(sConn);  
  9. cmd = new SqlCommand("UPDATE Categories SET Picture = @Picture WHERE  
  10. CategoryName = 'Seafood'", conn);  
  11. fs = new FileStream("c:\\Builder.doc", FileMode.Open, FileAccess.Read);  
  12. Byte[] blob = new Byte[fs.Length];  
  13. fs.Read(blob, 0, blob.Length);  
  14. fs.Close();  
  15. param = new SqlParameter("@Picture", SqlDbType.VarBinary, blob.Length,  
  16. ParameterDirection.Input, false, 0, 0, null, DataRowVersion.Current, blob);  
  17. cmd.Parameters.Add(param);  
  18. conn.Open();  
  19. cmd.ExecuteNonQuery();  
  20. } catch (SqlException e){  
  21. Console.Write("SQL Exception: " + e.Message());  
  22. } catch (Exception e) {  
  23. Console.Write("Exception: " e.Message());  

示例代码从本地文件系统插入一个 Word 文档到数据库中。它与常规的数据库更新操作类似,然而,FileStream 和 Bytes 对象用于处理将 Word 文档插入到数据库中。另外一个变化是使用SqlParameter 对象将 BLOB 插入到数据库字段中。这就允许数据可以直接从内存写出到数据库中。

不是所有的数据都是相等的,虽然字符串值是开发人员与数据库交互时最常用的数据类型,但是其它数据类型也经常使用,比如数字和 BLOB。在编程时,将将这些对象视为二进制流对待。以上介绍C#存储BLOB对象。

【编辑推荐】

  1. C#方法重写全面介绍
  2. C#流程控制语句简单描述
  3. Java和C#字符串类型概述
  4. C#访问修饰符详细剖析
  5. 选择C#构造函数描述
责任编辑:佚名 来源: IT168
相关推荐

2009-08-26 10:34:59

C# Hashtabl

2009-09-01 10:58:46

C#匿名类型对象

2009-08-21 17:45:40

C#调用COM对象

2009-08-28 09:25:59

C#查看Excel对象

2009-09-04 14:30:28

C#读取BLOB数据

2009-08-20 17:13:37

C# FileSyst

2009-08-28 16:50:25

C# PromptPo

2009-08-31 09:44:23

C# Employee

2009-09-02 15:41:21

C# HTTPWebR

2009-08-25 16:03:51

C# SQLDMO对象

2009-08-12 11:24:25

C# String对象

2009-08-25 10:08:39

C# MyData对象

2009-08-31 09:37:09

C# Employee

2009-08-25 09:49:09

C#内存Graphic

2009-08-19 17:12:18

C# Connecti

2009-08-27 13:27:50

C# this保留字

2009-09-01 09:16:57

C#使用SharpZi

2009-08-26 16:46:06

C# ThreadSt

2009-08-19 11:21:02

C# ListBox控

2009-08-13 17:58:34

C#存储过程
点赞
收藏

51CTO技术栈公众号