c语言与vc++向oracle中添加bolb数据时的异同
来源:互联网 发布:swoole php 编辑:程序博客网 时间:2024/06/05 20:13
一:c语言
//char* 转换成_variant_t
//以读取文件的方式,获取本地文件数据流并添加到数据库中
FILE *fp=NULL;
BYTE *avdata=NULL;//BYTE data;
fp=fopen(covertPathName,"rb");
if (!fp)
{
printf("读取文件失败\n");
sprintf(strErr,"读取文件失败\n");
int length=strlen(strErr);
fwrite(strErr,sizeof(char),length,awriteFile);
covFileFlag=FALSE;
return covFileFlag;
}
long savef_size= fsize+1;
printf("%dkb",(savef_size)/1024);
avdata=(BYTE*)malloc(savef_size);
memset(avdata,savef_size,0);
while (!feof(fp))
{
fread(avdata,sizeof(BYTE),savef_size,fp);
}
//关闭打开的文件
if (!fclose(fp))
{
printf("关闭fp成功\n");
}
else
{
printf("关闭fp失败\n");
}
fp=0;
//下面把BYTE*类型转换成SAFEARRAY
if (NULL==avdata)
{
printf("读取文件内容为空!\n");
sprintf(strErr,"读取文件内容为空\n");
int length=strlen(strErr);
fwrite(strErr,sizeof(char),length,awriteFile);
covFileFlag=FALSE;
return covFileFlag;
}
long lDataSize = 0;
SAFEARRAY*pSA = NULL;
pSA=(SAFEARRAY*)malloc(savef_size);
SAFEARRAYBOUNDrgSABound[1] = {0};
rgSABound[0].lLbound = 0;
rgSABound[0].cElements = savef_size;
pSA = SafeArrayCreate(VT_UI1,1,rgSABound);
BYTE *pBuf = NULL;
SafeArrayAccessData(pSA,(void **) &pBuf);
memcpy(pBuf,avdata,savef_size);
SafeArrayUnaccessData(pSA);
_variant_t vtFld;
vtFld.vt = VT_ARRAY|VT_UI1;
vtFld.parray = pSA;
rdp->GetFields()->GetItem("DATA")->AppendChunk(vtFld);
rdp->Update();
rdp->Close();
- c语言与vc++向oracle中添加bolb数据时的异同
- C语言与C++中const关键字的异同
- VC 向SQL中添加数据
- C语言与Java的异同
- C语言与Java的异同
- c语言和vc对文件的操作的异同
- C语言:向排好序的数组中插入数据
- C语言中向屏幕写数据的诸多方式
- Oracle中date与timestamp的异同
- C语言向文本中插入数据
- Ada语言与传统C语言的异同
- C语言中typedef与#define实现数据类型上的异同
- 动态的向ListView中添加数据
- SQL语言使用insert语句向数据库表格中插入或添加新的数据行
- 使用UUID生成主键向Oracle中添加数据
- go语言指针与C指针的异同
- C语言之continue与break的异同
- C语言和C++中const关键字使用的异同
- 给Android应用开发者的十个建议
- const int *p,const * int p,int const *p
- java的反射机制详解
- Android 解析XML文件 XmlPullParser 方法
- java的MD5加密
- c语言与vc++向oracle中添加bolb数据时的异同
- 移动端产品设计的原则
- 算法学习之路2
- sql STUFF 删除指定长度的字符,并在指定的起点处插入另一组字符。
- 上一篇下一篇的问题
- 最长不重复字串
- XVID 编码器源码剖析(包含SSE2汇编)
- EGOTableViewPullRefresh动态刷新按钮
- hdu 3555 Bomb(数位DP,4级)