1.采用stream流形式写入:

    #region 数据流转换成blob类型数据写入数据库
static public bool StreamToBlob(ref Stream stream, OdbcConnection conn, string sTable, string sBlobField, string sIDName, string sIDValue)
{
if (null == conn || stream == null || sTable == "" || sBlobField == "" || sIDName == "" || sIDValue == "")
throw new NullReferenceException(); DataSet dataSet = null;
OdbcDataAdapter adapter = null;
byte[] buff = null;
DataRow row = null;
int iRtn = 0;
string sSQL = String.Format("SELECT * FROM {0} WHERE {1} = '{2}'", sTable, sIDName, sIDValue); try
{
adapter = new OdbcDataAdapter(sSQL, conn);
adapter.MissingSchemaAction = MissingSchemaAction.AddWithKey;
dataSet = new DataSet(sTable);
OdbcCommandBuilder builder = new OdbcCommandBuilder(adapter);
adapter.Fill(dataSet, sTable);
// read blob data from stream
// cause there is only one row, the index we need update is 0
int iCnt = dataSet.Tables[0].Rows.Count;
row = dataSet.Tables[sTable].Rows[0];
buff = new byte[stream.Length];
stream.Seek(0, SeekOrigin.Begin);
stream.Read(buff, 0, System.Convert.ToInt32(stream.Length));
// update table's blob field
row[sBlobField] = buff;
iRtn = adapter.Update(dataSet, sTable);
}
catch (Exception ee)
{
string err = ee.Message.ToString();
MessageBox.Show(ee.Message + ee.StackTrace);
buff = null;
}
finally
{
if (dataSet != null)
dataSet.Dispose();
if (adapter != null)
adapter.Dispose();
} //stream.Close();
// there is an exception happened or update false
if (buff == null || iRtn == 0)
return false;
return true;
} #endregion

2.sql语句采用parameter

    string image = BlobToString(DBConnection.m_DataBaseConn, "imagetable", "ImageData", "ImageID", readerIl[0].ToString());
if (image == null) { readerIl2.Close(); continue; }
byte[] bytes = strhelper.str2arr(image);
cmmandIr.CommandText = "update imagetable set imagedata = ? where imageid = '" + readerIl[0].ToString() + "'";
commandIr.Parameters.Add("@a", bytes);
commandIr.ExecuteNonQuery();

c# mysql blob数据类型的更多相关文章

  1. MySQL的数据类型(转)

    MySQL的数据类型 1.整数 TINYINT: 8 bit 存储空间 SMALLINT: 16 bit 存储空间 MEDIUMINT: 24 bit 存储空间 INT: 32 bit 存储空间 BI ...

  2. mysql的数据类型和字段属性

    本文内容: 数据类型 数值类型 整数型 浮点型 定点型 日期时间类型 字符串类型 补充: 显示宽度与zerofll 记录长度 字段属性 空\不为空值:NULL.NOT NULL 主键:primary ...

  3. { MySQL基础数据类型}一 介绍 二 数值类型 三 日期类型 四 字符串类型 五 枚举类型与集合类型

    MySQL基础数据类型 阅读目录 一 介绍 二 数值类型 三 日期类型 四 字符串类型 五 枚举类型与集合类型 一 介绍 存储引擎决定了表的类型,而表内存放的数据也要有不同的类型,每种数据类型都有自己 ...

  4. mysql的数据类型和字符集

    MySQL的数据类型 MySQL数据库支持的数据类型主要有以下几种: 整型 浮点型 字符 BLOB型 枚举和集合类型 JSON类型(MySQL5.7新增加的支持) 整型 整数类型是数据库中最基本的数据 ...

  5. mysql 常见数据类型

    ---恢复内容开始--- MySQL常见的数据类型 一.数据类型是什么? 数据类型是指列.存储过程参数.表达式和局部变量的数据特征,它决定了数据的存储格式,代表了不同的信息类型. 有一些数据是要存储为 ...

  6. MYSQL中数据类型介绍

    一.MySQL的数据类型 主要包括以下五大类: 主要包括以下五大类: 整数类型:bit.  int . bit int . small int . tiny int . medium int .boo ...

  7. MySQL基础数据类型

    一 介绍 存储引擎决定了表的类型,而表内存放的数据也要有不同的类型,每种数据类型都有自己的宽度,但宽度是可选的 详细参考: http://www.runoob.com/mysql/mysql-data ...

  8. MYSQL数据库数据类型

    07.14自我总结 MYSQL数据库数据类型 一.整数类型和浮点数典型 1.有符号/没符号 对于整数和负整数来说,默认情况下是有符号范围的 默认是有符号 有符号和没符号其实就是有没有包括负数,有符号是 ...

  9. MySQL学习——数据类型

    MySQL学习——数据类型 摘要:本文主要学习了MySQL数据库的数据类型. 整数类型 MySQL主要提供的整数类型有tinyint.smallint.mediumint.int.bigint,其属性 ...

随机推荐

  1. Redis集群整合到springboot框架

    整合步骤 1 配置application.properties spring.redis.cluster.nodes=192.168.60.131:8000,192.168.60.131:8001,1 ...

  2. 设置全局导航栏颜色,标题大小和UIBarButtonItem字体大小

    设置全局导航栏颜色,标题大小和UIBarButtonItem字体大小 在appdelegate里面设置 swift: UINavigationBar.appearance().barTintColor ...

  3. c# Hash一致算法负载均衡(KetamaHash)项目升级

    其实就是我最近写的一个项目,采用Hash一致满足负载均衡.Hash一致环带虚拟节点. 在前面的博文中说明了我采用的方法,MurmurHash+红黑树(底层其实是sortedlist).经过多次测试结合 ...

  4. 【模板】概率dp

    有n个投资事件,和一个成功概率最低接受值rate.每个投资的价值是c[i],成功概率是p[i](浮点数). 在保证成功概率≥rate的情况下,使价值最大化. #include<bits/stdc ...

  5. Java分享笔记:自定义枚举类 & 使用enum关键字定义枚举类

    在JDK1.5之前没有enum关键字,如果想使用枚举类,程序员需要根据Java语言的规则自行设计.从JDK1.5开始,Java语言添加了enum关键字,可以通过该关键字方便地定义枚举类.这种枚举类有自 ...

  6. ABAP术语-Data Browser

    Data Browser 原文:http://www.cnblogs.com/qiangsheng/archive/2008/01/21/1046858.html Tool for displayin ...

  7. oracle 11g grid软件安装[20180121]

      实验环境:     系统->Redhat 6.5     Oracle软件版本->oracle 11.2.0.4.0        系统初始化     设定hosts主机名和对应IP地 ...

  8. python核心编程2 第十三章 练习

    13-3.对类进行定制.写一个类,用来将浮点型值转换为金额. class MoneyFmt(object): def __init__(self, value=0.0, flag='-'): self ...

  9. TCP回话劫持原理和利用

    由于 TCP 协议并没有对 TCP 的传输包进行身份验证,所以在我们知道一个 TCP 连接中的 seq 和 ack 的信息后就可以很容易的伪造传输包,假装任意一方与另一方进行通信,我们将这一过程称为 ...

  10. thinkphp5 分页带参数的解决办法

    文档有说可以在paginate带参数,然后研究了下,大概就是这样的: $list=Db::name('member') ->where('member_name|member_mobile|se ...