读写SQLServer数据库中的image类型数据(简单)
1、将double类型的数据存储于image类型的变量中:
(1)、
char *CManualForecastResultBll::DoubleArray2Binary(std::vector<double> &doubleArray)
{
int len = doubleArray.size();
char *bin = new char[len * sizeof(double)];
unsigned __int64 *p = (unsigned __int64*)bin;
for (int i = 0; i < len; i++)
{
*p = DOUBLE2UINT64(doubleArray.at(i));
p++;
}
return bin;
}
unsigned __int64 CManualForecastResultBll::DOUBLE2UINT64(double v)
{
unsigned __int64 *pu64n = NULL;
pu64n = reinterpret_cast<unsigned __int64*>(&v);
return *pu64n;
}
(2)、
VARIANT varBLOB;
SAFEARRAY *psa;
SAFEARRAYBOUND rgsabound[1];
rgsabound[0].lLbound = 0;
rgsabound[0].cElements = (ULONG)(pData->qLen);
psa = SafeArrayCreate(VT_UI1, 1, rgsabound);
byte * pQt = pData->QTLINE; //自己的数据byte类型
for (long i = 0; i < pData->qLen; i++)
SafeArrayPutElement (psa, &i, pQt++);
varBLOB.vt = VT_ARRAY | VT_UI1;
varBLOB.parray = psa;
pRecordset->GetFields()->GetItem(SimulateResultDataFeilds[i])->AppendChunk(varBLOB);
2、根据已知image类型中存储的数据类型(例如:double、float等)取数据:
case VT_ARRAY | VT_UI1:
Binary2DoubleArray(vtFld);
break;
//////////////////////////////////////////////////////////////////////////
void DBRecordset::Binary2DoubleArray(_variant_t vtFld)
{
int len = vtFld.parray->rgsabound->cElements / sizeof(double);
double *pdata = new double[len];
/*int len = vtFld.parray->rgsabound->cElements / sizeof(float);
float *pdata = new float[len];*/
SafeArrayAccessData(vtFld.parray, (void**)&pdata);
/*unsigned __int64 *pu64n = new unsigned __int64[len];
SafeArrayAccessData(vtFld.parray, (void**)&pu64n);*/
ofstream writetofile("image.txt");
for (int i = 0; i < len; i++)
{
if (i % 30 == 0 && i != 0)
{
writetofile<<endl;
}
writetofile<<pdata[i]<<"\t";
//writetofile<<*(reinterpret_cast<double*>(&pu64n[i]))<<"\t";
writetofile.flush();
}
writetofile<<endl;
writetofile.close();
SafeArrayUnaccessData(vtFld.parray);
}
读写SQLServer数据库中的image类型数据(简单)的更多相关文章
- 关于数据库中varchar/nvarchar类型数据的获取注意事项
当在页面后台获取数据库表中某字段的数据时,需注意该数据的类型.防止因实际数据的字符长度因达不到指定数据类型规定的字符长度而导致空格的占位符. 比如: MSSQL中某一表的结构如下: 表中的数据: ...
- C#:向SqlServer数据库中插入imange类型
using System; using System.Collections.Generic; using System.Linq; using System.Runtime.InteropServi ...
- Excel 数据导入至Sqlserver 数据库中 ltrim() 、rtrim() 、replace() 函数 依次空格无效问题
今天导一些数据从Excel中至Sqlserver 数据库中,在做数据合并去重的时候发现,有两条数据一模一样,竟然没有进行合并: 最后发现有一条后面有个“空格”,正是因为这个“空格”让我抓狂许久,因为它 ...
- 分享一个SQLSERVER脚本(计算数据库中各个表的数据量和每行记录所占用空间)
分享一个SQLSERVER脚本(计算数据库中各个表的数据量和每行记录所占用空间) 很多时候我们都需要计算数据库中各个表的数据量和每行记录所占用空间 这里共享一个脚本 CREATE TABLE #tab ...
- (转)分享一个SQLSERVER脚本(计算数据库中各个表的数据量和每行记录所占用空间)
分享一个SQLSERVER脚本(计算数据库中各个表的数据量和每行记录所占用空间) 很多时候我们都需要计算数据库中各个表的数据量和每行记录所占用空间 这里共享一个脚本 CREATE TABLE #tab ...
- 【转载】Sqlserver数据库中无自增Id的情况下使用ROW_NUMBER()函数进行数据分页
在Sqlserver数据库中,如果查询表中含有自增长Id列,一般会采用select Top的方式来数据的分页操作.而实际上很多数据表设计的时候,不一定含有自增长Id列,那么数据库没有Id自增列的时候要 ...
- SQLServer清空数据库中所有表的数据
今早同事跟进客户反馈的问题时,提了个要求,要求清空数据库中所有表的数据. 记得之前用游标遍历所有的表名 + exec 动态语句 truncate table 表名 实现过这个功能. 网上搜了下,有更简 ...
- Sqlserver数据库中的临时表详解
临时表在Sqlserver数据库中,是非常重要的,下面就详细介绍SQL数据库中临时表的特点及其使用,仅供参考. 临时表与永久表相似,但临时表存储在tempdb中,当不再使用时会自动删除.临时表有两种类 ...
- PowerDesigner从SqlServer数据库中导入实体模型
PowerDesigner从SqlServer数据库中导入实体模型 时间 2013-06-28 10:26:34 CSDN博客 原文 http://blog.csdn.net/sxycxwb/art ...
随机推荐
- Apache commons——Apache旗下的通用工具包项目
Apache Commons是Apache旗下的一个开源项目,包含了很多开源的工具,用于解决平时编程经常会遇到的问题,减少重复劳动 这里是Apache commons的官方网站 下面是工具的简单介绍: ...
- C语言之数组中你所不在意的重要知识
#include<stdio.h> void simpleArray(); void main() { simpleArray(); } //数组的简单操作 void simpleArra ...
- WPF支持GIF的各种方法
2012.12.18更新:修复下载链接 已知WPF的Image元素只能显示GIF图片的第一帧,而MediaElement不能加载作为资源或内嵌的资源的GIF图片,所以网上有几种实现方法. 我抄袭网上提 ...
- 一致性hash在分布式系统中的应用
场景 如果要设计一套KV存储的系统,用户PUT一个key和value,存储到系统中,并且提供用户根据key来GET对应的value.要求随着用户规模变大,系统是可以水平扩展的,主要要解决以下几个问题. ...
- 策略模式Strategy——回家乘什么车?
1.问题与模式 时间:2014年6月 学校:廊坊师范 家:石家庄 人物:学生 又快到期末考试了,回家的节奏也奔上日程.无聊之余就想想这次回家的事儿.对我来说回家主 ...
- java中常量定义在interface中好还是定义在class中
Java中interface中定义变量都是"public static final" 类型的, 也就是常量, 因此很多人在interface定义常用的常量,除此之外单独定义一个cl ...
- 触摸事件【MotionEvent】简介
MotionEvent简介 当用户触摸屏幕时,将创建一个MontionEvent对象,MotionEvent包含了关于发生触摸的位置.时间信息,以及触摸事件的其他很多细节. Android 将所有的输 ...
- PHP实现双向链表
看了很久数据结构但是没有怎么用过,在网上看到了关于PHP的数据结构,学习了一下,与大家一起分享一下.上一次分享了链表,这次来补充说一下双向链表. 简短不割 ...
- HDU 2897 邂逅明下 (博弈)
题意: 给你n.p.q,每次操作是令n减小 [p, q]区间中的数,当n < p时必须全部取完了,取完最后一次的人算输,问先手必胜还是必败. 解题思路: 这种非常类似巴什博弈,可以找出必胜区间和 ...
- Unable to create requested service org.hibernate.cache.spi.RegionFactory
hibernate 4.3.11+struts2.3.28.1+spring 4.2.5,在搭框架的时候,报的这个错误: Unable to create requested service org. ...