往数据库中添加照片
来源:互联网 发布:淘宝怎么搜漏洞券 编辑:程序博客网 时间:2024/06/10 07:17
作者:BY www.gudianxiaoshuo.com
本文由 代码助手软件 整理发布 内容与本软件无关更惬意的读、更舒心的写、更轻松的发布
秀色书文软件 可听、可读、可写、可知识挖掘、可标注,再加上史上最强大的纯文本配色功能, 瞬间使您的书文秀色起来。
往数据库中添加照片
pRecordSet.CreateInstance(__uuidof(Recordset)); strCmd.Format( _T("SELECT * FROM 班级表%d order by 学号 "), m_pParentStudentInfo->m_nClassID); pRecordSet->Open((_variant_t)strCmd,m_pConnection.GetInterfacePtr(),adOpenDynamic,adLockOptimistic,adCmdText); pRecordSet->AddNew(); pRecordSet->PutCollect(_T("学号"),(long)nXuehao); pRecordSet->PutCollect(_T("姓名"),(LPCTSTR)nameStr); pRecordSet->PutCollect(_T("地址"),(LPCTSTR)addStr); pRecordSet->PutCollect(_T("联系方式"),(LPCTSTR)lianxiStr); pRecordSet->PutCollect(_T("备注"),(LPCTSTR)beizhuStr); CFile f; CFileException e; if(f.Open(zhaoPianStr, CFile::modeRead | CFile::typeBinary, &e)) //打开了一个jpg文件 { int nSize = f.GetLength(); //先得到jpg文件长度 BYTE * pBuffer = new BYTE [nSize]; //按文件的大小在堆上申请一块内存 if (f.Read(pBuffer, nSize) > 0 ) //把jpg文件读到pBuffer(堆上申请一块内存) { BYTE *pBuf = pBuffer; ///下面这一大段是把pBuffer里的jpg数据放到库中 VARIANT varBLOB; SAFEARRAY *psa; SAFEARRAYBOUND rgsabound[1]; if(pBuf) { rgsabound[0].lLbound = 0; rgsabound[0].cElements = nSize; psa = SafeArrayCreate(VT_UI1, 1, rgsabound); for (long i = 0; i < (long)nSize; i++) SafeArrayPutElement (psa, &i, pBuf++); varBLOB.vt = VT_ARRAY | VT_UI1; varBLOB.parray = psa; pRecordSet->GetFields()->GetItem(_T("照片"))->AppendChunk(varBLOB); } delete []pBuffer; pBuf=NULL; } f.Close (); } pRecordSet->Update();
读取照片
CString xuehaoStr=m_XueShengList.GetItemText(nIndex,0); //选中行的第一列的文字 _CommandPtr spCmd; _RecordsetPtr pRecordSet; spCmd.CreateInstance(__uuidof(Command)); spCmd->ActiveConnection=m_pConnection; CString strCmd; strCmd.Format( _T("select * from 班级表%d where 学号=%d"), m_pParentStudentInfo->m_nClassID, _ttoi(xuehaoStr)); spCmd->CommandText=(LPCTSTR)strCmd; pRecordSet=spCmd->Execute (NULL,NULL,adCmdText); if (pRecordSet->adoEOF) //未找到此学号的学生 return; if(m_Pic.m_IPicture != NULL) m_Pic.FreePictureData(); long nSize=pRecordSet->GetFields()->GetItem(_T("照片"))->ActualSize; if(nSize>0) { _variant_t varBLOB; varBLOB=pRecordSet->GetFields()->GetItem(_T("照片"))->GetChunk(nSize); if (varBLOB.vt==(VT_ARRAY|VT_UI1)) { if (BYTE* pBuffer=new BYTE[nSize+1]) { char *pBuf=NULL; SafeArrayAccessData(varBLOB.parray,(void**)&pBuf); memcpy(pBuffer,pBuf,nSize); SafeArrayUnaccessData(varBLOB.parray); m_Pic.LoadPictureData(pBuffer,nSize); delete [] pBuffer; pBuf=NULL; //PICTURE控件 自动适应大小 m_Photo.GetClientRect (rc); m_Photo.ClientToScreen(rc); ScreenToClient(rc); long Width = 0; long Height = 0; m_Pic.m_IPicture->get_Width(&Width); m_Pic.m_IPicture->get_Height(&Height); float f=Width/(float)Height; long w=f*(rc.bottom-rc.top); m_Photo.SetWindowPos (NULL,rc.left,rc.top,w,rc.Height(), SWP_NOMOVE); m_Photo.GetClientRect (rc); CClientDC dc(&m_Photo); m_Pic.UpdateSizeOnDC (&dc); rc.left--; rc.top--; m_Pic.Show (&dc,rc); } } }
0 2
- 往数据库中添加照片
- 如何往ios模拟器中添加照片
- TextCopy往数据库中存储照片,文件等
- 照片存入数据库中C#(SQL)
- 向sql数据库中存取照片
- 上传照片并保存在数据库中
- 页面添加照片且存入数据库的方法
- iOS中选择相册照片添加到应用程序中
- C#将照片或图片转化为byte[]存入数据库,从数据库中读照片
- 照片保存到相册,并添加到自定义相册中
- 4、往数据库中添加信息
- mysql中添加数据库
- 拍摄照片添加文字
- input添加照片
- 在数据库中添加图片
- 向数据库中添加数据
- select 添加数据库中数据
- 在Oracle中添加数据库
- 写给我的2014级学生
- Other Monitors for Detailed Analysis ST02
- VS2012 Form + OpenCV
- 2.7 Implement a function to check if a linked list is a palindrome
- BZOJ 3544 ONTAK 2010 Creative Accounting 贪心+平衡树
- 往数据库中添加照片
- insert into 语句总是出现 未指定错误
- 用EmEditor快速删除段首、段尾空格
- 记录集元素个数
- C# 获取文件名及扩展名
- Java 课堂随笔 (4)
- 杂碎-参考博文
- 电脑上不了网了
- 【转】两个小function实现XML和string相互转化